IT技术博客大学习 共学习 共进步

jQuery实例为什么在firebug下表现出数组的特征

UED TEAM 2010-07-19 19:47:46 累计浏览 3,085 次

在firebug下面用console.debug($(‘a’))打印jQuery()返回值时,会发现控制台输出是一个数组,但我们知道jQuery()返回的确实一个对象,只不过这个对象有length属性和数字的下标,最重要的是还有一个splice方法。只要满足这三点,就会在控制台输出一个数组。自己建了个例子模拟一下。

function Foo() {
    return new Foo.prototype.init();
}
Foo.prototype = {
    init: function() {
        this.length = 1;
        this[0] = 'hello world';
        return this;
    },
    say: function() {
        alert('hi');
    },
    length: 0,
    splice: [].splice
}
Foo.prototype.init.prototype = Foo.prototype;

Foo();

PS: 如果想用firebug打印完整的jQuery对象,请用console.dir()。

建议继续学习

  1. JQuery实现Excel表格呈现 (累计阅读 48,166)
  2. 分享一个JQUERY颜色选择插件 (累计阅读 14,064)
  3. jQuery插件---轻量级的弹出窗口wBox. (累计阅读 10,627)
  4. 10个强大的Ajax jQuery文件上传程序 (累计阅读 8,726)
  5. jQuery性能优化指南 (累计阅读 8,647)
  6. jQuery的data()方法 (累计阅读 8,504)
  7. jQuery Color Animations颜色动画插件 (累计阅读 8,347)
  8. 精于图片处理的10款jQuery插件 (累计阅读 7,264)
  9. 配合jquery实现异步加载页面元素 (累计阅读 6,286)
  10. jQuery中getJSON跨域原理详解 (累计阅读 6,267)