[Java教程]javascript中的2个感叹号的用法

0 2014-04-15 19:00:09

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

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

假设有这样一个json对象:{ color: "#E3E3E3", "font-weight": "bold" },需要判断是否存在,用!!再好不过。

如果仅仅打印对象,无法判断是否存在: var temp = { color: "#A60000", "font-weight": "bold" }; alert(temp);

结果:[object: Object]

如果对json对象实施!或!!,就可以判断该json对象是否存在: var temp = { color: "#A60000", "font-weight": "bold" }; alert(!temp);

结果:false

var temp = { color: "#A60000", "font-weight": "bold" }; alert(!!temp);

结果:true

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

□ 对null的"非"返回true var temp = null; alert(temp);

结果:null

var temp = null; alert(!temp);

结果:true

var temp = null; alert(!!temp);

结果:false

□ 对undefined的"非"返回true var temp; alert(temp);

结果:undefined

var temp; alert(!temp);

结果:true

var temp; alert(!!temp);

结果:false

□ 对空字符串的"非"返回true var temp=""; alert(temp);

结果:空

var temp=""; alert(!temp);

结果:true

var temp=""; alert(!!temp);

结果:false

□ 对非零整型的"非"返回false var temp=1; alert(temp);

结果:1

var temp=1; alert(!temp);

结果:false

var temp=1; alert(!!temp);

结果:true

□ 对0的"非"返回true

结果:0 var temp = 0; alert(temp);

var temp = 0; alert(!temp);

结果:true

var temp = 0; alert(!!temp);

结果:false

□ 对字符串的"非"返回false var temp="ab"; alert(temp);

结果:ab

var temp="ab"; alert(!temp);

结果:false

var temp="ab"; alert(!!temp);

结果:true

□ 对数组的"非"返回false var temp=[1,2]; alert(temp);

结果:1,2

var temp=[1,2]; alert(!temp);

结果:false

var temp=[1,2]; alert(!!temp);

结果:true

本文网址:http://www.shaoqun.com/a/88614.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JavaScript

0

java中的感叹号是_[Java教程]javascript中的2个感叹号的用法相关推荐

  1. django中的for循环_深入了解 JavaScript 中的 for 循环

    在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简单for循环 for-in forEach 在2015年6月份发布的ECMAScript6(简称 ES6)中,新增了一种循 ...

  2. java怎么把数组清空_如何在JavaScript中清空数组?

    有没有一种方法可以清空数组,如果可以的话,可以使用.remove()吗? 例如, A = [1,2,3,4]; 我该如何清空? #1楼 清除现有数组A : 方法1 (这是我对问题的原始回答) A = ...

  3. js中while死循环语句_如何检测JavaScript中的死循环?

    如果我们需要执行用户写的代码,如和避免死循环?我们最近遇到了这个问题,因为写错代码很常见,所以我们进行了一下尝试. 首先我们需要使用iframe 这主要是安全考虑,我们需要一个sandbox环境来执行 ...

  4. java引用类型和值类型_[Java教程]JavaScript中值类型和引用类型的区别

    [Java教程]JavaScript中值类型和引用类型的区别 0 2017-02-24 00:00:35 JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和 ...

  5. java中分支_[Java教程]JavaScript中的分支结构

    [Java教程]JavaScript中的分支结构 0 2016-06-30 23:03:37 说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的 ...

  6. java中的console是干什么的_[Java教程]javascript中,你真的会用console吗?

    [Java教程]javascript中,你真的会用console吗? 0 2015-08-11 17:00:09 使用console进行性能测试和计算代码运行时间 对于前端开发人员,在开发过程中经常需 ...

  7. java中字符串和数组如何比较_[Java教程]javascript中数组和字符串的方法比较

    [Java教程]javascript中数组和字符串的方法比较 0 2016-07-19 23:00:05 ×目录[1]可索引 [2]转换 [3]拼接[4]创建[5]位置 前面的话 字符串和数组有很多的 ...

  8. 遍历 in java_[Java教程]JavaScript中遍历数组 最好不要使用 for in 遍历

    [Java教程]JavaScript中遍历数组 最好不要使用 for in 遍历 0 2017-01-14 00:01:52 先看一段代码1 2 3 4 5 Document 6 7 8 9 21 2 ...

  9. .Net 6.0中的新增特性_.Net 6.0中的新增功能

    .Net 6.0中的新增特性_.Net 6.0中的新增功能 一..Net 6 介绍 .NET 6 作为 LTS 长期支持版本,.NET 6 将会获得 3 年的技术支持. .NET 6 是首个原生支持 ...

最新文章

  1. C# 给word文档添加水印
  2. 日常生活小技巧 --WIN7出现“发生验证错误 要求的函数不受支持”问题
  3. ABAP 中的变量和常量
  4. 计算机专业简历自我评价,计算机专业毕业生简历自我评价
  5. Sharding-JDBC(实现读写分离)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记014
  6. Android初学第55天
  7. SysUtils.AdjustLineBreaks - Unix 与 Windows 的换行符互换
  8. WPF中使用amCharts绘制股票K线图
  9. 最新emoji表情代码大全_10月最新早上好问候语表情图片大全,朋友们大家早上好表情包!...
  10. 不知道怎样计算权重?告诉你8种确定权重方法
  11. 使用jwplayer插件播放视频
  12. java中nextToken,Java StringTokenizer nextToken()用法及代碼示例
  13. 《庄子·内篇·逍遥游第一》
  14. Java对比GO的优劣势
  15. 东八区时间转换为年月日时分秒(2020-10-26T11:34:30Z转换为2020-10-26 11:34:30)
  16. 一年三 季 醋 泡 姜(养生)
  17. 我国土地资源开发利用中存在的主要问题
  18. 曾经被你亲手敲烂过的机械键盘
  19. Husky数据分析——关于最近房子在强力限购下的趋势分析
  20. SkyWalking 微服务链路追踪

热门文章

  1. 一个私企HR的分享:为什么你找不到工作了?一直找不到工作怎么办
  2. 计算机对口高考文化试卷,对口高考的计算机试卷与答案
  3. CNN中文垃圾邮件分类(二)
  4. 《ASP.NET Core技术内幕与项目实战:基于DDD与前后端分离》读后感一
  5. 如何选题、撰写微信小程序毕业论文,以及答辩流程?
  6. 手机平板屏幕与PC屏幕互动的解决方案
  7. 跟我一起学【Spark】之——Spark调优与调试
  8. oracle导库lrm00112,SQLLDR LRM-00112:多个值不允许参数 '控制'
  9. 念数字 — c语言【递归函数-逐位分离,Switch语句-读数字】
  10. 计算机专业需要英语口语成绩,什么专业需要英语口试成绩 一定要参加口试吗...