JavaScript 检测值
了解常见的真值和假值,可以增强判断能力。在使用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 检测值的更多相关文章
- Javascript检测值
检测原始值用typeof javascript有五种原始类型,分别为字符串.数字.布尔值.null和undefined 判断一个值是什么类型的字符串,可以通过typeof typeof variabl ...
- JavaScript检测之basevalidate.js
上篇文章「JavaScript检测原始值.引用值.属性」中涉及了大量有用的代码范例,为了让大家更方便的使用这些代码,博主特意把这些代码重新整理并托管到 GitHub,项目地址是:https://git ...
- 用 JavaScript 检测浏览器在线/离线状态(JavaScript API — navigator.onLine)
如今HTML5 移动应用或 Web app 中越来越普遍的使用了离线浏览技术,所以用 JavaScript 检测浏览器在线/离线状态非常常见. 无论浏览器是否在线,navigator.onLine 属 ...
- Javascript检测浏览器对CSS属性的支持 /* supports */
//检测浏览器对CSS属性的支持 supports = (function() { var div = document.createElement('div'), vendors = 'Khtml ...
- JavaScript中值类型和引用类型的区别
JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和布尔值.此外,JavaScript中还有两个特殊的原始值:null和undefined,它们既不是数字也不 ...
- javascript检测当前浏览器是否为微信浏览器
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- 如何用Javascript检测到所有的IE版本
如何用Javascript检测到所有的IE版本 function GetIEVersion() { var sAgent = window.navigator.userAgent; var Idx = ...
- JavaScript检测数据类型
JavaScript检测数据类型 标签(空格分隔): JavaScript function valType(value) { return Object.prototype.toString.cal ...
- JavaScript里值比较的方法
JavaScript里值比较的方法 参考资料 一张图彻底搞懂JavaScript的==运算 toString()和valueof()方法的区别 Object.is 和 == 与 === 不同 == 运 ...
随机推荐
- Miller-Rabin素性测试
有时候我们想快速的知道一个数是不是素数,而这个数又特别的大导致 $O(\sqrt n)$ 的算法也难以通过,这时候我们可以对其进行 Miller-Rabin 素数测试,可以很大概率测出其是否为素数. ...
- TFS命令行
tfs命令工具: https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/9s5ae285 ...
- webpack项目怎样修改package项目名称
使用vue-cli+webpack创建的项目,修改文件名称或者更改文件的位置,运营时会报错,是因为npm项目,在安装依赖(node_nodules)时,会记录当前的文件路径,当修改之后就无法正常启动. ...
- 《剑指offer》数组中只出现一次的数字
本题来自<剑指offer> 数组中只出现一次的数字 题目: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 思路: 思路一:在<剑指of ...
- slf4j、jcl、jul、log4j1、log4j2、logback大总结[转]
#1 系列目录 jdk-logging.log4j.logback日志介绍及原理 commons-logging与jdk-logging.log4j1.log4j2.logback的集成原理 slf4 ...
- tomcat控制前台到后台的乱码问题
1.找到tomcat中的conf文件下的server.xml文件. 2.点击打开后找到 <Connector port="8080" protocol="HTTP ...
- Spring Cloud Gateway(一):认识Spring Cloud Gateway
1.Spring Cloud Gateway 简介 Spring Cloud Gateway 系列目录 Spring Cloud Gateway(一):认识Spring Cloud Gateway S ...
- 通过sqlserver用户操作远程服务器
USE masterGORECONFIGURE --先执行一次刷新,处理上次的配置GOEXEC sp_configure 'show advanced options',1 --启用xp_cmdshe ...
- [Phoenix] Mix 命令
mix phx.gen.html 命令生成模板: # 其中 name 和 age 是 schema 字段名称,后面跟的是类型 # 下面这样的写法,会生成 controller 和 service 层的 ...
- Facebook币Libra学习-1.核心概念
Libra区块链是一个基于Libra协议的加密认证的分布式数据库.本文将简略介绍Libra协议的核心概念.其详细说明请参阅Libra技术白皮书. Libra区块链由分布式的Validator节点网络维 ...