var c = null;
var a = $("#h1").on("click",function(event){
alert(this.innerText);
c && c = "2";
alert(c);
})
alert(c);
在网上看到一种js的写法,感觉像是if的简写方式,自己试了试,
报错Uncaught ReferenceError: Invalid left-hand side in assignment
不知怎么回事?
确实是简写,很常用的,记得以前看一个特效的压缩源码看到的这种写法,然后就一直在用
其实等价于:
undefined应该是对的
if(eleMenuOn != undefined){
eleMenuOn.removeClass('cho_link_on');
}
看你代码eleMenuOn这个变量应该是一个dom,左值无效,右侧加括号就ok
优先级问题,改成:
c && (c = "2");
如果不加括号,则会变成:
(c && c) = "2";
左边的c && c
是一个JavaScript的值,不能作为左操作数,所以报错。