JavaScript中值的真真假假(true and false)

值为flase的有:

false
0
"" //空串
null
undefined
NaN

除了以上的之外的都是ture,包括"0" (zero in quotes), "false" (false in quotes) , empty functions, [](空数组), and {}(empty objects),都是为true

var a = !!(0);    // false
var b = !!("0");  // true

为false的类型之间的比较:

false0 (zero), and "" (empty string)这三个都是"=="相等的

var c = (false == 0); // true
var d = (false == ""); // true
var e = (0 == ""); // true

null 和 undefined 除了他们自己本身相比较是"=="相等的,与其他的值相比较是不相等的

var f = (null == false); // false
var g = (null == null); // true
var h = (undefined == undefined); // true
var i = (undefined == null); // true

还有一个比较特殊的NaN,他和任何一个值都不相等

var j = (NaN == null); // false
var k = (NaN == NaN); // false

typeof(NaN)返回的“number”,一般我们通过isNaN()来判断一个值是不是NaN

上面的情况,如果使用“===”严格全等和“!==”严格不等,情况又不太一样了,这两个比较的是包括了类型和值

var l = (false == 0); // true
var m = (false === 0); // false

附上两适用的方法:

1.检查是否位空数组

var n =  ([].length == 0)  // ture

2.检查是否位空对象

var obj = {};
for (var i in obj){
    if(obj[i]) {
        return true;
    } else {
        return false;
    }
}

JavaScript中值的真真假假(true and false),布布扣,bubuko.com

时间: 2024-08-09 02:18:38

JavaScript中值的真真假假(true and false)的相关文章

javascript中值传递与值引用的研究

今天重新看了一下<javascript高级程序设计>,其中讲到了javascript中的值传递和值引用,所以就自己研读了一下,但是刚开始没有明白函数中的参数只有值传递,有的场景好像参数是以引用的方式传递的,但是实际上却不是,那到底是怎么回事,或者是函数中的传值是值传递还是值引用呢,下面来对书上给出的例子做一个图解,这样能够更好的解释这个问题.有顿悟的感觉.javascript中貌似共有8种数据类型,包括了字符串类型,数值类型,布尔类型,undefined类型,null类型,对象,数组,函数:1

javascript中的undefined,null,&quot;&quot;,0和false的云集

在各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolean值本身就是tru

Python3中真真假假True、False、None等含义详解

概述 在Python中,不仅仅和类C一样的真假类似,比如1代表真,0代表假.Python中的真假有着更加广阔的含义范围,Python会把所有的空数据结构视为假,比如[](空列表).{}(空集合).''(空字符串)等,而与之相反的非空数据结构即为真 简单对比代码: # 遍历列表中的示例元素,获取对应的真假: for elenment in ['', 'S', [], [1, 2], {}, {3, 'SSS'}, 0, 0.0, 1, None]: if elenment: print(elenm

Javascript中值的访问与参数传递问题

数据类型 在 javascript 中数据类型可以分为两类: 原始数据类型值 primitive type,比如Undefined,Null,Boolean,Number,String. 引用类型值,也就是对象类型 Object type,比如Object,Array,Function,Date等. 声明变量时不同的内存分配 原始值:存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置.这是因为这些原始类型占据的空间是固定的,所以可将他们存储在较小的内存区域 – 栈中

JavaScript中几个可以转化为false的值

1.[0,NaN,“”,null,undefined]都可以直接转化为false,但这几个值不是完全相等的 1 var arr = [0,"",false,null,undefined,NaN] 2 for(var i=0;i<arr.length;i++){ 3 for(var j=i;j<arr.length;j++){ 4 if(arr[i]==arr[j]){ 5 console.log(arr[i]+"="+arr[j]); 6 } 7 } 8

js中return;return true return false 的区别

return 定义: return 语句会 终止函数的执行 并 返回函数的值. 注意这两个: 1.终止函数的执行 2.返回函数的值 返回函数的值这里就不过多叙述了,就是 return 变量 先看下面的例子: <!DOCTYPE html> <html> <head> <title>return测试</title> </head> <body> <a href="#"></a> &

Python中内置类型和定义了__nonzero__的魔术方法的类都能在if语句中呗解释为True或False

1 >>> a =[1,2,3] 2 >>> if a: 3 print('I found something') 4 5 6 I found something 7 >>> b = [] 8 >>> if not b: 9 print('Empty') 10 11 12 Empty 13 >>> b = [] 14 >>> if b: 15 print('Empty') 16 17 18 >

motto - question - bodyParser.urlencoded 中设置 extended 为 true 和 false 有什么区别吗?

本文搜索关键字:motto node nodejs js javascript body-parser bodyparser urlencoded x-www-form-urlencoded extended Answer: 如果设置为false,那么对URL-encoded的数据的解析采用querystring库,如果设置为true那么采用qs库. 原文地址:https://www.cnblogs.com/jzsz/p/9227109.html

Javascript中的undefined、null、&quot;&quot;、0值和false的区别总结

在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolean