zepto 研究

在有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
  }

你可能感兴趣的:(选择器,selector)