<ul id="numShow">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>js:
$().ready(function(){
    $("#numShow li").bind("mouseover", function(){
        for (var i = 0; i < $("#numShow li").length; i++) {
            if ($("#numShow li").eq(i) == $(this)) {
                alert(1)
                break;
            }
        }
    })
})
$("#numShow li").eq(i) == $(this) 
两者都是jquery对象 为什么不相等呢?小弟 查看两者的constructor是不一样的 请高手解释下
alert($("#numShow li").eq(i).constructor);
结果是: 
function Object() {
    [native code]
}
alert(typeof $(this).constructor);
结果是: 
function
在线求解

解决方案 »

  1.   

    更正一下 写错了  小弟 查看两者的constructor是不一样的 请高手解释下
    alert($("#numShow li").eq(i).constructor);
    结果是: 
    function Object() {
    [native code]
    }
    alert($(this).constructor);
    结果是: 
    function Object() {
    [native code]
    }
    两者的constructor一样的。
    它们两者 为什么不等?
    在线求解
      

  2.   


    var a = new String('4444');
    var b = new String('4444');
    var c = a;
    alert(a==b);
    alert(a==c);两个对象的相等比较的是两个对象的内存地址,如果指向同一个地址,就是相等的,否则,即便两个对象new自同一个类,也不相等。