在js中if条件为null/undefined/0/NaN/""表达式时,统统被解释为false,此外均为true哦。。。(官方原文如下:)

Boolean 表达式

一个值为 true 或者 false 的表达式。如果需要,非 Boolean 表达式也可以被转换为 Boolean 值,但是要遵循下列规则:

  • 所有的对象都被当作 true。
  • 当且仅当字符串为空时,该字符串被当作 false。
  • null 和 undefined 被当作 false。
  • 当且仅当数字为零时,该数字被当作 false。

原文地址:https://www.cnblogs.com/wangchufang/p/9208213.html

时间: 2024-10-11 02:04:24

在js中if条件为null/undefined/0/NaN/""表达式时,统统被解释为false,此外均为true哦。。。(官方原文如下:)的相关文章

js中的条件语句

1 //js中的条件语句 2 3 var age=60; 4 5 6 //example1 单分支语句 7 if(age>30){ 8 console.log("你已经不年轻了!"); 9 }else{ 10 console.log("你依然很有活力!"); 11 } 12 13 14 //example2 多分子语句 当程序执行到第一个满足条件的情况下就不再往下判断 15 16 if(age>40&&age<=60){ 17 co

浅析Vue.js 中的条件渲染指令

1 应用于单个元素 Vue.js 中的条件渲染指令可以根据表达式的值,来决定在 DOM 中是渲染还是销毁元素或组件. html: <div id="app"> <p v-if="type===1">拌面</p> <p v-else-if="type===2">扁肉</p> <p v-else="type===3">其它</p> </div

js中 null, undefined, 0,空字符串,false,不全等比较

null == undefined // true null == ''  // false null == 0 // false null == false // false undefined == '' // false undefined == 0 // false undefined == false // false '' == 0   // true '' == false // true 0 == false // true undefined,null和 0, '', fals

深入理解 Node.js 中 EventEmitter源码分析(3.0.0版本)

events模块对外提供了一个 EventEmitter 对象,即:events.EventEmitter. EventEmitter 是NodeJS的核心模块events中的类,用于对NodeJS中的事件进行统一管理,使用events可以对特定的API事件进行添加,触发和移除等.我们可以通过 require('events')来访问该模块. 比如如下代码: // 引入 events 模块 const events = require('events'); console.log(events)

js中如何获取纯正的undefined?

1.为什么要获取undefined? 因为undefined在javascript中不是保留字,可以被用户当做变量来赋值,这样如果我们后期需要用到undefined来检测一个变量的话,那么检测的值就不准确了: 举个栗子: var undefined=10; function sum(a,b){ if(a===undefined||b===undefined){ console.log("参数不正确"); } return a+b; } sum(10,10)->本来正确的参数,控制

C#z中关于存取数据库NULL和0的问题

需求: 注册用户的时候,对于年龄,地址,姓名等字段如果客户不想填写,这说明这些字段的值是"不知道", 但是,如果按照一般的观点,存入数据库的则是0,或者" "空,这是不符合要求的,因此,需要存入数据库的应该是null 此时,需要DbNull的用法 //存储数据的时候这样使用 //获取控件输入的字符 string name = txtName.Text; string age = txtAge.Text; string height = txtHeight.Text;

js中setTimeout()时间参数设置为0的探讨

起因源于一道前端笔试题: var fuc = [1,2,3]; for(var i in fuc){ setTimeout(function(){console.log(fuc[i])},0); console.log(fuc[i]); } 问:控制台会如何打印? chrome打印结果如下: 虽然setTimeout函数在每次循环的开始就调用了,但是却被放到循环结束才执行,循环结束,i=3,接连打印了3次3. 这里涉及到javascript单线程执行的问题:javascript在浏览器中是单线程

JS中判断null、undefined与NaN的方法

写了个 str ="s"++; 然后出现Nan,找了一会. 收集资料如下判断: 1.判断undefined: 代码如下: 1 <span style="font-size: small;">var tmp = undefined; 2 if (typeof(tmp) == "undefined"){ 3 alert("undefined"); 4 }</span> 说明:typeof 返回的是字符串,有

js 中 0 和 null 、&quot;&quot; 的逻辑关系

在做字符串非空判断时,无意发现一个问题,记录下以便以后回顾. 问题描述:非空判断,只是校验传值的内容是否为"".null .undefined.当变量 赋值的字符串内容为 0,此时做非空校验竟然返回true,说当前变量值为空. 代码如下: 1 //模拟赋值 0 2 var str = "0"; 3 4 /** 5 * 判断字符是否为空的方法 6 * 为空 返回 true 7 * 不为空返回 false 8 * @param {Object} obj 9 */ 10