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

cyyjm 2013-07-08 05:06:38

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) 这句什么意思?返回哪个?
...全文
176 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦心恋家 2014-09-23
  • 打赏
  • 举报
回复
非常感谢,学习了
cyyjm 2013-07-09
  • 打赏
  • 举报
回复
引用 3 楼 xzy21com 的回复:
return a&&b 表示返回值:当a不存在时返回a,否则返回b。【与 return a||b 相反】 所以: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之类)
cyyjm 2013-07-08
  • 打赏
  • 举报
回复
了解。谢谢了。继续努力学习。
wohuifude123 2013-07-08
  • 打赏
  • 举报
回复
a && b -- if a=true return b else return a; 我承认我在二楼乱说,抱歉。
scscms太阳光 2013-07-08
  • 打赏
  • 举报
回复
return a&&b 表示返回值:当a不存在时返回a,否则返回b。【与 return a||b 相反】 所以:return s && s.getPropertyValue(name)当s不存在时返回s,当s存在时返回s.getPropertyValue(name)。因为s.getPropertyValue(name)是最后一个值,所以不管它是什么都返回它。
lidongmao00 2013-07-08
  • 打赏
  • 举报
回复
return s && s.getPropertyValue(name) 是确保s存在,如果s不存在(undefined),那么 .getPropertyValue 的时候将报错
wohuifude123 2013-07-08
  • 打赏
  • 举报
回复
如果这个 document.defaultView && document.defaultView.getComputedStyle 成立 返回 document.defaultView.getComputedStyle(elem,"") 和 getPropertyValue(name) 得到的值 上面所说的两个函数得到的值同时返回 getPropertyValue(name)看名字是返回属性值

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧