如果这个
document.defaultView && document.defaultView.getComputedStyle
成立返回
document.defaultView.getComputedStyle(elem,"")
和
getPropertyValue(name)
得到的值上面所说的两个函数得到的值同时返回getPropertyValue(name)看名字是返回属性值
document.defaultView && document.defaultView.getComputedStyle
成立返回
document.defaultView.getComputedStyle(elem,"")
和
getPropertyValue(name)
得到的值上面所说的两个函数得到的值同时返回getPropertyValue(name)看名字是返回属性值
是确保s存在,如果s不存在(undefined),那么 .getPropertyValue 的时候将报错
所以:return s && s.getPropertyValue(name)当s不存在时返回s,当s存在时返回s.getPropertyValue(name)。因为s.getPropertyValue(name)是最后一个值,所以不管它是什么都返回它。
我承认我在二楼乱说,抱歉。
补充一下。你的理解还是有误的。我用代码测试过了. function func() {
this.hello=function () {alert("hello");};
this.a="testing";
}
var a = new func();
function returnValue() {
this.v="v";
var i=10;
return this.p && a.a;
}
alert(returnValue());上面会提示undefined 。
正确的理解是,return a&&b 表示返回值:如果a存在值(不是null,undefined,0,false etc),会返回b的值,否则,会返回一个unfefined (null,false之类)