j**ascript 双感叹号

时间:2013.08.01 发布人:b229761917

j**ascript 双感叹号

已解决问题

谷歌b229761917用户在2013.08.01提交了关于“罗生门j**ascript 双感叹号”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-07-27T21:17:40。昨天看别人写的一j**ascript拖拽效果,里面有很多!!

this.LockX=!!this.options.LockX;
this.LockY=!!this.options.LockY;
this.Lock=!!this.options.Lock;
.
按常理说!!是非非,就是没有的意思,当时为什么要加这么多呢?
请哪位高手赐教,谢谢了!希望大家能够帮助她。

详细问题描述及疑问:昨天看别人写的一j**ascript拖拽效果,里面有很多!!

this.LockX=!!this.options.LockX;
this.LockY=!!this.options.LockY;
this.Lock=!!this.options.Lock;
.
按常理说!!是非非,就是没有的意思,当时为什么要加这么多呢?
请哪位高手赐教,谢谢了!期待您的答案,你就是当代的活雷锋,太感谢了 !

希望以下的回答,能够帮助你。

第1个回答

用户名:**四qizj  

!!一般用来将后面的表达式转换为布尔型的**(boolean
因为j**ascript是弱类型的语言(变量没有固定的**类型)所以有时需要强制转换为相应的类型,类似的如:
a=parseInt("1234")
a="123问答4"+0//转换为数字
b=1234+""//转换为字符串
c=someObject.toString()司赵文服功也队孩雷站//将对象转换为字符串
其中第1示种、第4种为显式转换,2、3为隐式转换

布尔型的转换,j**ascript约定和c类似,规则为
·false、undefinded、**ll、0、""算配粒周为false
·true、1、"议逐责somestring"、值息影源没剂简势又看[Object]为true