快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记app官网:使用prototype.js 的时候应该特别注意的几个问题.



1. St和记app官网ring.prototype.camelizeBUG

这个措施用来返回字符串的骆驼写法。用js 节制元素的 style的时刻常常应用

比如

var ss="font-color"

ss=ss.camelize()// fontColor

平日环境下 camelize 会事情得很好,然则有一个特列,那便是浮动定位float

var ss="float"

obj.style[ss.camelize()]="right" // 这将导致一个差错。

显然,作者没有斟酌 float这种特殊环境,精确的写法是:

ie:obj.style.styleFloat="right"

ff:obj.style.cssFloat="right"

2. String.prototype.inspectBUG

这里 inspect 措施是有Bug的, 作者用replace 措施的时刻没有用正则,导致只能调换掉落第一个匹配的字符。

精确的写法应该这样

inspect: function() {

return "'" + this.replace(/\和记app官网\/g, '\\\\').replace(/"/g, '\\\"') + "'";

}

3. Array.prototype.allBUG

这个措施检测是否数组中所有元素都能够让迭代函数为真。 假如整个能满意,则返回true,否则返回false

var f=function(x){return x%2==0}//反省一个数是否是偶数

var arr=[2,4,6]

alert (arr.all(f)==true)//显示 true

然则当arr为空的时刻,仍旧返回 true

var arr=[]

alert(arr.all(f)==true)//显示true

4.Array.prototype.anyBUG

同 all措施,对空数组仍旧返回true

5.Array.prototype.detect也便是 find措施

这个不是 Bug ,然则不看原代码很轻易让人误解,从而掉足。

这个措施查找第一个能满意 迭代函数 的元素,着末返回元素的值

误解一:

var f=function(x){return x%2==0}//检测是否是偶数

var arr=[1,3,5,7]//有意定义一个全为奇数的数组。

alert(arr.find(f)==false)//false

//很多人误以为 find 函数在找不到满意前提的元素的时刻会返回 false ,实际上,它返回的是 "undefined"

误解二:

探求数和记app官网组中的数字元素

var f=function(x){retu和记app官网rn !isNaN(x) && typeof(x)==="number"}

var arr=[false,"go_rush",0,"阿舜"]

if (arr.find(f)) alert("数组中含稀有字元素")//事实上 这个 alert永世不会履行。

由于 find措施返回的是第一个相符前提的值。这里返回:0.以是.....

6. 对hash 工具的处置惩罚必要非分特别小心的地方

var和记app官网 hash={member:1,test:2,ids:3}

alert(hash.member)

alert($H(hash).inspect())

alert($H(hash).toQueryString())

//hash.member实际是存在的然则.inspect() 和 .toQueryString()却当它不存在

同样下面这些属性也会和 prototype.js 相冲突。

each, all, any, collect, detect, findAll, grep, include, inject, invoke, max, min,

partition, pluck, reject, sortBy, toArray, zip, inspect, map, find, select, member, entries

您可能还会对下面的文章感兴趣: