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) 这句什么意思?返回哪个?
...全文
240 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)看名字是返回属性值
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 用户账户控制(UAC)白名单的配置 Windows7环境中 UAC(User Account Control,用户帐户控制)是由微软在Windows Vista版本中推出的一项旨在增强系统安全性的创新技术,该技术强制要求用户在执行可能干扰计算机正常运作的操作或进行更改会波及其他用户设置的变动前,必须提供相应的权限或管理员密码进行验证。通过对这些操作启动前进行授权确认,UAC能够有效阻止恶意软件及间谍软件在未获授权的状态下于计算机内进行安装或实施修改。 自从Vista版本问世以来,微软便开始推行这一全新的安全机制,可视为对系统安全防护的显著提升。尽管UAC确实能够在一定程度上对某些非法程序起到防御作用,但与此同时,这一功能也给众多用户带来了诸多不便。 因此,许多用户开始探寻是否存在类似于白名单的功能,以便将那些值得信赖的程序直接赋予运行权限。事实上,这类功能确实存在,不过微软并未将其作为标准配置提供。 网络上关于此问题的绝大多数建议都是建议禁用UAC,这种说法显然缺乏针对性,因为若用户希望禁用此功能,本就不会提出相关疑问。 通过运用微软官方发布的Microsoft Application Compatibility Toolkit 5.6版本,可以将信任的程序纳入系统白名单范畴。 获取Application Compatibility Toolkit 安装程序成功后会出现三个可执行文件 以管理员身份启动Compatibility Administrator 在Custom DataBases部分创建新的数据库,并添加一个Application Fix(在下方空白处点击右键,选择...

87,984

社区成员

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

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