var clicked = $(event.currentTarget || target);
var clickedIsActive = clicked[0] == this.active[0];
我对js很新,在尝试阅读一些jQuery代码时,我遇到了上面的部分。
第二行的优先顺序是什么?
是吗:
var clickedIsActive = (clicked[0] == this.active[0]);
还是别的什么?
谢谢。
答案 0 :(得分:6)
是的,首先评估作业的最右侧。
clickedIsActive
分配了表达式clicked[0] == this.active[0]
的结果。
答案 1 :(得分:2)
var clickedIsActive = clicked[0] == this.active[0];
clickedIsActive是比较clicked[0] == this.active[0]
的结果,因此必须先对clicked[0] == this.active[0]
进行比较。
答案 2 :(得分:0)
我认为您可能会将=
与==
混淆。它们不是一回事,所以这非常类似于将苹果与橙子进行比较。
=
是一项任务。 ==
是一个“相等”的比较,只会返回true
或false
。
是否存在误解,您的转码是正确的。在实际分配之前解析赋值的右侧。 Javascript VM需要知道它之前分配的内容,因为它可以保存它。