色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

使用prototype.js 的時(shí)候應(yīng)該特別注意的幾個(gè)問題.

1. String.prototype.camelize    BUG
這個(gè)方法用來返回字符串的駱駝寫法。用js 控制元素的 style的時(shí)候經(jīng)常使用
比如 
var ss="font-color"  
ss=ss.camelize()    // fontColor
通常情況下 camelize 會(huì)工作得很好,但是有一個(gè)特列,那就是浮動(dòng)定位  float
var ss="float"  
obj.style[ss.camelize()]="right" // 這將導(dǎo)致一個(gè)錯(cuò)誤。
 顯然,作者沒有考慮 float這種特殊情況,正確的寫法是: 
ie:   obj.style.styleFloat="right"
ff:   obj.style.cssFloat="right"
2. String.prototype.inspect   BUG
這里 inspect 方法是有Bug的, 作者用replace 方法的時(shí)候沒有用正則,導(dǎo)致只能替換掉第一個(gè)匹配的字符。
正確的寫法應(yīng)該這樣
  inspect: function() {
    return "'" + this.replace(////g, '////').replace(/"/g, '///"') + "'";
  }
3. Array.prototype.all   BUG
 這個(gè)方法檢測是否數(shù)組中所有元素都能夠讓迭代函數(shù)為真。 如果全部能滿足,則返回true,否則返回false
var f=function(x){return x%2==0}  //檢查一個(gè)數(shù)是否是偶數(shù)
var arr=[2,4,6]
alert (arr.all(f)==true)   //顯示 true
但是當(dāng)  arr為空的時(shí)候,仍然返回 true
var arr=[]
alert(arr.all(f)==true)   //顯示true
4.  Array.prototype.any  BUG
同 all方法,對空數(shù)組仍然返回true
5.Array.prototype.detect  也就是 find方法
這個(gè)不是 Bug ,但是不看原代碼很容易讓人誤解,從而出錯(cuò)。
這個(gè)方法查找第一個(gè)能滿足 迭代函數(shù) 的元素,最后返回元素的值
誤解一:
   var f=function(x){return x%2==0}  //檢測是否是偶數(shù)
   var arr=[1,3,5,7]    //故意定義一個(gè)全為奇數(shù)的數(shù)組。
   alert(arr.find(f)==false)   //false 
   //很多人誤以為 find 函數(shù)在找不到滿足條件的元素的時(shí)候會(huì)返回 false ,實(shí)際上,它返回的是 "undefined"
誤解二:
   尋找數(shù)組中的數(shù)字元素
   var f=function(x){return !isNaN(x) && typeof(x)==="number"}
   var arr=[false,"go_rush",0,"阿舜"]
   if (arr.find(f)) alert("數(shù)組中含有數(shù)字元素")     //事實(shí)上 這個(gè) alert永遠(yuǎn)不會(huì)執(zhí)行。
因?yàn)?nbsp;find方法返回的是第一個(gè)符合條件的值。  這里返回:0.  所以.....

6. 對hash 對象的處理需要格外小心的地方
var hash={member:1,test:2,ids:3}
alert(hash.member)
alert($H(hash).inspect())
alert($H(hash).toQueryString())
//hash.member實(shí)際是存在的  但是.inspect() 和 .toQueryString()卻當(dāng)它不存在
同樣下面這些屬性也會(huì)和 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

JavaScript技術(shù)使用prototype.js 的時(shí)候應(yīng)該特別注意的幾個(gè)問題.,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 藁城市| 五常市| 漠河县| 分宜县| 绥阳县| 贺兰县| 墨脱县| 喀喇| 施秉县| 桑日县| 平潭县| 来宾市| 凌海市| 潼关县| 奉化市| 通城县| 丰台区| 尉氏县| 呈贡县| 屏东县| 穆棱市| 昌邑市| 平凉市| 曲靖市| 淮阳县| 雅安市| 成都市| 罗定市| 紫阳县| 伊宁县| 南郑县| 河南省| 开封县| 阜新市| 彝良县| 西安市| 股票| 云安县| 伊通| 涞水县| 阆中市|