1 看见某神的代码里面充斥着
_initConfig.IsLazyMode && (_trJqObjArray_Obj[tdIndex] = trJqObjArr);
_initConfig.IsLazyMode && isExist_trJqObjArr && trJqObjArr.reverse();
$.isFunction(_initConfig.OnShow) && (_initConfig.OnShow(n, trJqObjArr[n], _tbodyObj));
想问问&&是什么意思?源代码http://www.cnblogs.com/know/archive/2011/10/29/2228682.html#commentform
逻辑运算符.这里用的是逻辑运算符的短路特性.当前面为真时,才会执行后面的代码
那用if,不是也可以吗?甚至 ?:恐怕也行吧,一开始让人有点懵懵的。
@张生抛了崔莺莺: 当然可以啦,只是人家懒得写
首先是逻辑运算符,表示并且。
其次用在这里是利用了短路的特点。运算符为真再执行后续代码
这也是js中一种比较常见的防御性写法。
防御性谈何而来?
@张生抛了崔莺莺: 避免脚本错误哇。
@幻天芒: if 来写不也可以吗?
@张生抛了崔莺莺: 是可以,但是多麻烦啊,懒得写那么多!