javascript中2个感叹号的用法实例详解

前端之家收集整理的这篇文章主要介绍了javascript中2个感叹号的用法实例详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_502_0@在javascript代码中经常会见到!!的情况,本文即以实例形式较为深入的分析javascript中2个感叹号的用法分享给大家供大家参考之用。具体分析如下:


@H_5020@javascript中的!!是逻辑"非非",即是在逻辑“非”的基础上再"非"一次。通过!或!!可以将很多类型转换成bool类型,再做其它判断。


@H
5020@

一、应用场景:判断一个对象是否存在


@H
502_0@假设有这样一个json对象:


<div class="jb51code">
<pre class="brush:js;">
{ color: "#E3E3E3","font-weight": "bold" }

@H_502_0@需要判断是否存在,用!!再好不过。

@H_502_0@如果仅仅打印对象,无法判断是否存在:

@H_502_0@结果:[object: Object]

@H_502_0@

如果对json对象实施!或!!,就可以判断该json对象是否存在:

@H_502_0@结果:false

@H_502_0@结果:true

@H_502_0@

二、通过!或!!把各种类型转换成bool类型的惯例

@H_502_0@

1.对null的"非"返回true

@H_502_0@结果:null

@H_502_0@结果:true

@H_502_0@结果:false

@H_502_0@

2.对undefined的"非"返回true

@H_502_0@结果:undefined

@H_502_0@结果:true

@H_502_0@结果:false

@H_502_0@

3.对空字符串的"非"返回true

@H_502_0@结果:空

@H_502_0@结果:true

@H_502_0@结果:false

@H_502_0@

4.对非零整型的"非"返回false

@H_502_0@结果:1

@H_502_0@结果:false

@H_502_0@结果:true

@H_502_0@

5.对0的"非"返回true

@H_502_0@结果:0

@H_502_0@结果:true

@H_502_0@结果:false

@H_502_0@

6.对字符串的"非"返回false

@H_502_0@结果:ab

@H_502_0@结果:false

@H_502_0@结果:true

@H_502_0@

7.对数组的"非"返回false

@H_502_0@结果:1,2

@H_502_0@结果:false

@H_502_0@结果:true

@H_502_0@相信本文所述对大家的javascript程序设计的学习有一定的借鉴价值。

原文链接:https://www.f2er.com/js/57850.html

猜你在找的JavaScript相关文章