了解常见的真值和假值,可以增强判断能力。在使用if判断时,提升编码速度。

了解常见的检测和存在,一样可以增强判断能力,而且是必须掌握的。

数组和对象被视为真值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var shoppingCart=['鞋','连衣裙','皮带'];
println(Boolean(shoppingCart));
 
var person={};//字面量创建对象
 
// 设置字面量对象属性
person.name='huangshiren';
person.age=58;
person.appetite=3;
person.eat=function(){
    document.write('正在吃饭');
}
 
println(Boolean(person));
 
function println(a){
    document.write(a+'<br>');
}

严格等于下的特殊值

false与0与''

表达式  结果
(false==0) true
(false===0) false
(false=='') true
(false==='') false
(0=='') true
(0==='') false

示例

1
2
3
4
5
6
7
8
9
10
println(false==0);
println(false===0);
println(false=='');
println(false==='');
println(0=='');
println(0==='');
 
function println(a){
    document.write(a+'<br>');
}

null与undefined

null和undefined都是假值。null和undefined相等,undefined和undefined相等,null和null相等。

 表达式  结果
(undefined==null) true
(null==false) false
(undefined==false) false
(null==0) false
(undefined==0) false
(undefined===null) false

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
println(undefined==true);
println(undefined===true);
println(undefined==false);
println(undefined===false);
println(undefined==null);
println(undefined===null);
println(undefined==0);
println(undefined===0);
println(null==0);
println(null===0);
println(null==false);
println(null===false);
println(null==true);
println(null===true);
 
function println(a){
    document.write(a+'<br>');
}

NaN和null

NaN为假值,NaN不等于任何值

 表达式  结果
(NaN==null) false
(NaN==NaN) false

1.因为数组和对象都在内存里储存了数据,所以为真值

JavaScript 检测值的更多相关文章

  1. Javascript检测值

    检测原始值用typeof javascript有五种原始类型,分别为字符串.数字.布尔值.null和undefined 判断一个值是什么类型的字符串,可以通过typeof typeof variabl ...

  2. JavaScript检测之basevalidate.js

    上篇文章「JavaScript检测原始值.引用值.属性」中涉及了大量有用的代码范例,为了让大家更方便的使用这些代码,博主特意把这些代码重新整理并托管到 GitHub,项目地址是:https://git ...

  3. 用 JavaScript 检测浏览器在线/离线状态(JavaScript API — navigator.onLine)

    如今HTML5 移动应用或 Web app 中越来越普遍的使用了离线浏览技术,所以用 JavaScript 检测浏览器在线/离线状态非常常见. 无论浏览器是否在线,navigator.onLine 属 ...

  4. Javascript检测浏览器对CSS属性的支持 /* supports */

    //检测浏览器对CSS属性的支持 supports = (function() { var div = document.createElement('div'), vendors = 'Khtml ...

  5. JavaScript中值类型和引用类型的区别

    JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和布尔值.此外,JavaScript中还有两个特殊的原始值:null和undefined,它们既不是数字也不 ...

  6. javascript检测当前浏览器是否为微信浏览器

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  7. 如何用Javascript检测到所有的IE版本

    如何用Javascript检测到所有的IE版本 function GetIEVersion() { var sAgent = window.navigator.userAgent; var Idx = ...

  8. JavaScript检测数据类型

    JavaScript检测数据类型 标签(空格分隔): JavaScript function valType(value) { return Object.prototype.toString.cal ...

  9. JavaScript里值比较的方法

    JavaScript里值比较的方法 参考资料 一张图彻底搞懂JavaScript的==运算 toString()和valueof()方法的区别 Object.is 和 == 与 === 不同 == 运 ...

随机推荐

  1. 了解 Spring Boot

    Spring Boot是什么,解决哪些问题? SpringBoot是伴随着Spring4.0诞生的: 从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架: S ...

  2. pyinstaller打包程序包含openpyxl库问题解决

    带有openpyxl库时,直接打包,总会失败: 原因:看本地文件...Anaconda3\Lib\site-packages\PyInstaller\hooks\hook-openpyxl.py 发现 ...

  3. 001_UCOSIII引入原因

    (一)在前年的学习中一直都是在裸机上跑程序的,根本没有用到操作系统,但是因为以前开发的东西很小,根本用不着,也没必要在操作系统上跑,所以就没有学习.在未来的几天中将进军UCOSIII.为什么选择UCO ...

  4. Shell 03 for while case 函数 中断及退出

    一.for循环 1.脚本1,通过循环批量显示5个hello world    ( in 1 2 3 4 5 ) 2.脚本2,通过循环批量显示10个hello world   ( in {1..10} ...

  5. 23333 又是一篇水文章(以下是各种复制来的关于maven转成eclipse项目)

    (转载) 当我们通过模版(比如最简单的maven-archetype-quikstart插件)生成了一个maven的项目结构时,如何将它转换成eclipse支持的java project呢? 1. 定 ...

  6. sigprocmask , sigpending 和 sigsuspend函数

    转自 http://blog.csdn.net/elbort/article/details/7594772 sigprocmask函数:功能描述:设定对信号屏蔽集内的信号的处理方式(阻塞或不阻塞). ...

  7. Linux之信号

    产生信号五种方法: 按键产生:ctrl+c.ctrl+z.ctrl+\ 系统调用产生:如kill.raise.baort 软件条件产生:如定时器alarm 硬件异常产生:非法访问内存(段错误).除0( ...

  8. 数据结构实验之栈与队列三:后缀式求值(SDUT 2133)

    题解:把每一步计算的答案再存在栈里面,直到计算结束. 如果是操作数 那么直接入栈:如果是运算符,那么把栈里面最顶部的两个操作数拿出来进行运算,运算结果再放入到栈里面,计算完所有的(#之前的长度位len ...

  9. 【git 命令总结】一

    git help config init commit diff rename mv rm head revert reset branch checkout branch-diff fast-for ...

  10. Leetcode题目337:打家劫舍 III(树形DP-中等)

    题目描述: 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区.这个地区只有一个入口,我们称之为“根”. 除了“根”之外,每栋房子有且只有一个“父“房子与之相连.一番侦察之后,聪明 ...