geth: function(a) {
var b = 0;
return a || (a = 0),
get("header_title") && (b += 50),
get("footerdiv") && (b += 55),
$(window).height() - b + a
},
主要是return 这里不太理解,而且后面都是,号
geth: function(a) {
var b = 0;
return a || (a = 0), //这里不理解
if(get("header_title"))b += 50,//这样理解对不对
if(get("footerdiv"))b += 55,//这样理解对不对
$(window).height() - b + a
},
第二、三个理解都是对的,是利用了
JS
逻辑运算的 短路计算 特性。关于第一个,其实里面的
return
后面的代码等价于:逗号在这里表示语句还没有完成,需要继续执行直到最后一个逗号后面的表达式,于是乎
return
的是最后一个表达式得到的值。