日期:2014-05-16  浏览次数:20401 次

return s && s.getPropertyValue(name) 什么意思?

function getStyle( elem, name ) {
    if (elem.style[name])
        return elem.style[name];
    else if (elem.currentStyle)
        return elem.currentStyle[name];
    else if (document.defaultView && document.defaultView.getComputedStyle) {
        name = name.replace(/([A-Z])/g,"-$1");
        name = name.toLowerCase();
        var s = document.defaultView.getComputedStyle(elem,"");
        return s && s.getPropertyValue(name);
    } else
        return null;
}
function getStyle(elem,name){ 
if(elem.style[name]){ 
return elem.style[name]; 
}else if(elem.currentStyle){ 
return elem.currentStyle[name]; 
}else if(document.defaultView && document.defaultView.getComputedStyle){ 
name = name.replace(/([A-Z])/g,"-$1"); 
name = name.toLowerCase(); 

var s = document.defaultView.getComputedStyle(elem,""); 
return s && s.getPropertyValue(name); 
}else{ 
return null; 

}

return s && s.getPropertyValue(name) 这句什么意思?返回哪个?

------解决方案--------------------
return a&&b 表示返回值:当a不存在时返回a,否则返回b。【与 return a
------解决方案--------------------
b 相反】
所以:return s && s.getPropertyValue(name)当s不存在时返回s,当s存在时返回s.getPropertyValue(name)。因为s.getPropertyValue(name)是最后一个值,所以不管它是什么都返回它。