zepto 研究

来源:互联网 发布:阿里云服务器怎样使用 编辑:程序博客网 时间:2024/05/13 10:14

在有zepto的页面上,在控制台上输入 $() 。
在chrom下,显示为$() //[] 。而在 FireFox下, 显示为$() //Object { length: 0, selector: "" }

刚开始很疑惑后来,百度了一下 (百度地址)

1、jquery选择器$('selector')返回的不是数组,而是封装好的jquery对象。但这个对象有一个特别的地方,就是查询到的节点被以下标为属性,添加到了jquery对象上,所以它看起来像数组,因为它存在一些属性是数字;

及 (百度地址2)

要想让自己的Object也有这样的特点,就要继承数组,不过firebug很好欺骗,搞一个假数组就能蒙混过关了。 那怎么骗到它呢? 就是splice方法了,很关键,firebug觉得有splice就是数组,呵呵! 把任何function赋值给原型方法splice都行!**(这段话有问题,我测试了 不是 firebug,而是 chrome )**$.fn = {    length: 0,    // Because a collection acts like an array    // copy over these useful array functions.    forEach: emptyArray.forEach,    push: emptyArray.push,    splice: emptyArray.splice,    indexOf: emptyArray.indexOf  }
0 0
原创粉丝点击