JavaScript中的这种比较没有返回真实的内容?背景发生了什么?

时间:2016-06-05 19:46:15

标签: javascript jquery

我是JavaScript和jQuery(我是一名java程序员)的业余爱好者,我想知道在这种比较的背景下真正发生了什么:

if (current == $("#hero div:last") )

我认为如果它们是同一个对象就会返回true,就像在Java中发生一样,因为它只是内存中的相同地址(html中只有一个带有当前类的项),但是代码不起作用,从未满足条件。然后我想,因为多个对象转到一个var使它成为一个数组,可能是“当前的var实际上是一个大小为1的数组,所以我改为:

if (current[0] == $("#hero div:last") )

但这也不起作用。有人可以解释实际发生了什么,或者我是否完全忽略了这一点?以下是代码的其余部分:

 $("document").ready(function(){
    setInterval("rotate()",500);
});

function rotate() {
    var current = $("#hero div.current");
    if (current == $("#hero div:last") ){
        var next = $("#hero div:first");
    }else {
        var next = current.next();
    }

    current.removeClass("current").addClass("previous");
    next.addClass("current");

}

0 个答案:

没有答案