!这个是一个逻辑运算符,用于将值转换为其相反的布尔值。因为JavaScript会强制值,所以它会将值“转换”为true/false形式,并返回相反的布尔值。
当我们使用的时候!对0以外的数字进行运算,返回false。这是因为除0以外的所有数字都是真实的。

JavaScript Logical Operators

Operator Description
&& logical and
|| logical or
! logical not

Root是一个变量。叹号root是对这个变量进行,取反。例如,如果root等于true, 那么叹号,root就是false。另外在js语言当中,false null  undefined这些表示为否或者空的变量,加上叹号都会变成true。所以很多时候大伙就喜欢不写条件判断,而是通过一个叹号加变量的形式来表示该变量的一些条件。

例如。

if(!root)

的完整写法是

if(root!=undefined&&root!=null)

但是这种语法仅仅在js语言里面有,其他语言里面很少见

所以在其他语言里面判断一个变量非空,就得用比较长的语句,上边的那个条件判断语句

“bang” in JavaScript相关推荐

  1. 爱彼迎JavaScript 风格指南

    Types 基本类型: 你可以直接获取到基本类型的值 string number boolean null undefined symbol 复杂类型: 复杂类型赋值是获取到他的引用的值. 相当于传引 ...

  2. javaScript几种设计模式之一——单体模式

    javaScript是一种弱类型.动态的.基于原型的语言,这种语言特性使得它非常容易. 甚至是普通的方式实现其中的一些模式. 单体模式的思想在于保证一个特定类仅有一个实例.这就意味着当您第二次使用同一 ...

  3. 面试容易问的 JavaScript 知识点,你知道几个?

    你是否也遇到这样的问题,学JavaScript不知从哪下手?学了一半不知道自己技巧掌握的如何?或者学完了想去面试,但是不知道自己掌握的知识是否熟练?今天达妹为各位准备了一些JavaScript面试技术 ...

  4. javascript的规范

    2019独角兽企业重金招聘Python工程师标准>>> 类型 原始值: 相当于传值 string number boolean null undefined var foo = 1, ...

  5. 在打字稿中,是什么! (惊叹号/ bang)运算符取消引用成员时?

    本文翻译自:In Typescript, what is the ! (exclamation mark / bang) operator when dereferencing a member? W ...

  6. JavaScript编程规范-有利于效率和可读性

    JavaScript编程规范 类型 对象 数组 字符串 函数 属性 变量 条件表达式和等号 块 注释 空白 逗号 分号 类型转换 命名约定 存取器 构造器 事件 模块 jQuery ES5 兼容性 性 ...

  7. JavaScript设计模式与开发实践 - 单例模式

    引言 本文摘自<JavaScript设计模式与开发实践> 在传统开发工程师眼里,单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返 ...

  8. JavaScript 案例综合提升

    目录 一.购物项目部分功能实现 1.CSS样式布局: 2.HTML代码: 二.其它案例 一.购物项目部分功能实现 1.CSS样式布局: @charset "gb2312"; /* ...

  9. javascript 汉字生成拼音

    在网上下载的一个汉字生成拼音的js,很有用,大家一起分享! var PinYin = {"a":"/u554a/u963f/u9515","ai&qu ...

最新文章

  1. 「元宇宙第一股」Roblox市值突破600亿美元!
  2. 【独家】一文读懂关联分析
  3. 【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )
  4. openssl 生成证书_使用证书和私钥导出P12格式个人证书!
  5. AngularJs $anchorScroll、$controller、$document
  6. Java Stream Collectors.groupingBy()实现分组(单字段分组,多字段分组)
  7. android bitmap to base64_Android基础(11)—你需要知道的内存知识
  8. 03-24 CPU 统计
  9. 大数据系列1-规划安排
  10. 视觉SLAM十四讲_3-李群和李代数
  11. zookeeper + kafka 集群安装部署教程(linux环境下)
  12. rbw数字信号处理_数字中频概述 - 频谱分析
  13. 关于PMP考试的流程,很实用
  14. shark恒破解视频的笔记
  15. OSM数据下载及两种格式转换方法(shp等格式)
  16. ElasticSearch之别名_aliases
  17. 网页上的文字不能复制怎么办?
  18. KITTI数据集数据初体验
  19. 优雅编程之这样重构函数(续),你就“正常”了(二十)
  20. SUP桨板电动气泵方案——鼎盛合方案

热门文章

  1. win10如何使任务栏全透明
  2. Android数据传输加密(一):Base64转码算法
  3. pdf转html?pdf转图片
  4. c#企业微信在线支付
  5. 10个企业网络安全建议,解决99%的网络安全问题
  6. Date类的getDay()和getDate()方法
  7. 【时间轴】推荐几款jQuery时间轴插件Timeline
  8. 沐神《动手学深度实战Kaggle比赛:狗的品种识别(ImageNet Dogs)
  9. 2021年秋招【凯捷咨询笔试题】
  10. 使用XMAPP启动MySQL出现Error: MySQL shutdown unexpectedly 的解决办法