求大神帮忙回答下有关jQuery对象的疑问

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
    </script>
</head>
<body>
    <input type="checkbox" id="pp" checked onchange="
    console.info($(this).length);//1
    console.info($(this)); //Object[input 属性(property)值 = 'on' 属性(attribute)值 = 'null']"
    />
</body>
</html>

打印的结果已经在代码中,
第一个不明白:打印的结果是object[],一般object后面跟的是{},这是为什么
第二个不明白:打印的结果已经是object[],说明是一个对象,为什么却能打印出长度为1;如果真的是对象,那么打印长度的时候应该为undifend

首先你打印$(this),把当前元素给打印出来,其里面就是对应的属性。至于length,是因为那个对象里面有这个length属性,所以能够抓取出来。

一般object,那么打印它的长度的时候应该为undifend

。。。你因该看下 $(this)的结构,,,你多研究下html的解析就会发现它的节点树是采用的数组 得到结果是 [object] $(this).length =1 不奇怪

每个dom对象都有 each()方法;如果是object类型 那么如何each? 想多了解的话 可以去看看 一些高级教程了解一些解析方面的东西 ,javascript中的对象都是构造的,基于数组实现。和java的底层还是不一样的。