了解常见的真值和假值,可以增强判断能力。在使用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. office+visio2016版本一同安装说明

    安装所需软件: Office或者visio镜像 比如:cn_visio_professional_2016_x86_x64_dvd_6970929.iso 下载网址:http://pan.baidu. ...

  2. VUE cli 4.x下配置多页面以及同时配置支持element-ui及mint-ui并且优化首页文件大小。

    场景,公司的一个小型项目,需同时支持移动端和PC端.最开始考虑做两个独立的项目.但后来考虑到总共只有4个功能页面,布署起来相对麻烦.所以决定做在一个项目里. 1.升级vue-cli到4.x npm i ...

  3. E:only-child

    E:only-child 语法: E:only-child { sRules } 说明: 匹配父元素仅有的一个子元素E.大理石机械构件维修 要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高 ...

  4. Flutter布局----弹性布局 (Flex)

    弹性布局(Flex) 弹性布局允许子组件按照一定比例来分配父容器空间.弹性布局的概念在其它UI系统中也都存在,如H5中的弹性盒子布局,Android中的FlexboxLayout等.Flutter中的 ...

  5. @Async 异步注释 @EnableAsync

    @SpringBootApplication @ComponentScan(basePackages = "com.fddsfsg") //@EnableSwagger2 @Ena ...

  6. Apache 下载+安装

    1.官网下载Apache 官网地址:https://httpd.apache.org/ 点击Download 上面那段话,大致意思:很高兴Apache服务器2.4.18版本的发布.在2.4.x的分支的 ...

  7. .net Core使用 MongoDB

    1.安装mogodb windows版本下载地址:https://www.mongodb.com/download-center/v2/community 查看mongod.conf文件,找到绑定的I ...

  8. 使用setUncaughtExceptionHandler在线程外面捕获异常

    package com.dwz.concurrency.chapter11; /** * Thread的run方法是不能throw出异常的,只能在日志或者console中打印出来 */ public ...

  9. 为ubuntu找个能用的桌面,顺便进行适当的改造

    最近,开始玩ros,结果官方推荐ubuntu linux,虽然都是差不多的linux,无非就是软件包形式不同而已.但是,个人对ubuntu的unity桌面实在是没有爱,最让人无语的是,kubuntu无 ...

  10. Mac 内存清理

    1.清理前后的对比 清理前: 清理后: 内存多了20G 2.思路 首先,我先看了很多人的经验贴,按照他们的路子查到最后,并没有找到他们指出的大文件. 很显然,Mac的使用方式不同,其内存分配肯定也会不 ...