双重感叹号!)样品导入的作用

双重感叹号!)样品导入的作用
这样的例子经常被看到。
复制代码代码如下所示:
VaR;
var =!!一;

默认情况下A是未定义的。A是真的,!!!A是假,所以B的值是假的,不是未定义的,没有其他的值,主要是为了便于以后的判断。

它通常用于将后者表达式强制为布尔类型的数据(布尔),即只有true或false;
由于Javascript是一种弱语言类型(变量没有固定的数据类型),所以有时需要强制输入相应的类型,比如:
复制代码代码如下所示:
= parseInt(1234)
a = 1234 - 0转换为数字
b = 1234 + /将被转换为字符串
(C = someobject ToString) / /将对象转换为字符串

第一和第四是显式转换,2和3是隐式转换。

布尔转换,Javascript约定规则

假,undefinded,null,0,假
真的,1,somestring { },和对象是真实的

对于空的、未定义的和其他隐式变换值,使用运算符时将生成true结果,所以两个感叹号的函数是将这些值转换为等效布尔值。
再看一遍。
复制代码代码如下所示:
变量Foo;
警报(!Foo);在 / / undifined情况,感叹号返回true;
警报(!如果是NULL,感叹号返回也是正确的;
标志:真};
var测试=!!o.flag; / /无功等于测试= o.flag | |假;
警报(测试);

在undifined和空证明这个例子中,用一个感叹号是真实的,用两个感叹号返回的是错误的,所以两个感叹号的作用是,如果你显式设置该变量的值(非空 / / / 0 undifined等效),结果将根据该变量返回的实际值,如果没有设置,结果将返回false。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部