了解常见的真值和假值,可以增强判断能力。在使用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. Miller-Rabin素性测试

    有时候我们想快速的知道一个数是不是素数,而这个数又特别的大导致 $O(\sqrt n)$ 的算法也难以通过,这时候我们可以对其进行 Miller-Rabin 素数测试,可以很大概率测出其是否为素数. ...

  2. TFS命令行

    tfs命令工具: https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/9s5ae285 ...

  3. webpack项目怎样修改package项目名称

    使用vue-cli+webpack创建的项目,修改文件名称或者更改文件的位置,运营时会报错,是因为npm项目,在安装依赖(node_nodules)时,会记录当前的文件路径,当修改之后就无法正常启动. ...

  4. 《剑指offer》数组中只出现一次的数字

    本题来自<剑指offer> 数组中只出现一次的数字 题目: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 思路: 思路一:在<剑指of ...

  5. slf4j、jcl、jul、log4j1、log4j2、logback大总结[转]

    #1 系列目录 jdk-logging.log4j.logback日志介绍及原理 commons-logging与jdk-logging.log4j1.log4j2.logback的集成原理 slf4 ...

  6. tomcat控制前台到后台的乱码问题

    1.找到tomcat中的conf文件下的server.xml文件. 2.点击打开后找到 <Connector  port="8080" protocol="HTTP ...

  7. Spring Cloud Gateway(一):认识Spring Cloud Gateway

    1.Spring Cloud Gateway 简介 Spring Cloud Gateway 系列目录 Spring Cloud Gateway(一):认识Spring Cloud Gateway S ...

  8. 通过sqlserver用户操作远程服务器

    USE masterGORECONFIGURE --先执行一次刷新,处理上次的配置GOEXEC sp_configure 'show advanced options',1 --启用xp_cmdshe ...

  9. [Phoenix] Mix 命令

    mix phx.gen.html 命令生成模板: # 其中 name 和 age 是 schema 字段名称,后面跟的是类型 # 下面这样的写法,会生成 controller 和 service 层的 ...

  10. Facebook币Libra学习-1.核心概念

    Libra区块链是一个基于Libra协议的加密认证的分布式数据库.本文将简略介绍Libra协议的核心概念.其详细说明请参阅Libra技术白皮书. Libra区块链由分布式的Validator节点网络维 ...