来自 关于计算机 2019-09-22 02:53 的文章
当前位置: 六合联盟网 > 关于计算机 > 正文

JavaScript中双叹号

var wintype = !!os[1];

!!一般用来将前面包车型客车表明式强制转变为布尔类型的数码(boolean),也便是只好是true只怕false;

取变量的Boolean值,
应该也正是 var wintype = os[1]?true:false,
但一望而知简洁相当多。

日常见到这么的事例:

您大概感兴趣的稿子:

  • JavaScript中双叹号!!成效示例介绍
  • JavaScript中双叹号(!!)效能示例介绍
  • 用js达成的肤浅CSS圆角效果!!
  • 谈谈JS中的!!

复制代码 代码如下:

var a;
var b=!!a;

a默认是undefined。!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其余值,重若是为承袭推断提供方便。

!!一般用来将前面包车型大巴表达式强制调换为布尔类型的数目(boolean),也等于只可以是true或许false;
因为javascript是弱类型的语言(变量未有恒久的数据类型)所以一时候需求强制转变为相应的等级次序,类似的如:

a=parseInt(“1234″)
a=”1234″-0 //转换为数字
b=1234+”” //转换为字符串
c=someObject.toString() //将对象转换为字符串

里头第1种、第4种为显式变换,2、3为隐式调换

布尔型的改造,javascript约定法规为

false、undefinded、null、0、”” 为 false

true、1、”somestring”、[Object] 为 true

对null与undefined等任何用隐式调换的值,用!操作符时都会生出true的结果,所以用三个感叹号的效果与利益就在于将那几个值调换为“等价”的布尔值;

再来看看:

var foo; 
alert(!foo);//undifined情况下,一个感叹号返回的是true; 
alert(!goo);//null情况下,一个感叹号返回的也是true; 
var o={flag:true}; 
var test=!!o.flag;//等效于var test=o.flag||false; 
alert(test);

这段例子,演示了在undifined和null时,用四个惊讶号重回的都以true,用五个惊讶号重返的便是false,所以三个惊讶号的功力就在于,借使明显设置了变量的值(非null/undifined/0/”“等值),结果就能基于变量的莫过于值来回到,若无安装,结果就能够回去false。

您可能感兴趣的篇章:

  • JavaScript中双叹号(!!)作用示例介绍
  • Javascript !!的作用
  • 用js达成的肤浅CSS圆角效果!!
  • 谈谈JS中的!!

本文由六合联盟网发布于关于计算机,转载请注明出处:JavaScript中双叹号

关键词: