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 和 == 与 === 不同 == 运 ...
随机推荐
- 使用Eclipse进行远程调试(转)
做开发好多年了,Debug大家肯定都不陌生,绝对称得上是家常便饭了.博主虽不敢妄下断言,但是这里也猜一下,肯定有很多人都没有使用过Remote Debug(远程调试).说来惭愧,博主也是工作了3年才用 ...
- bootstrap的css和js
css:<link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel=" ...
- tomcat——web.xml
本机tomcat位置:D:\tomcat7\apache-tomcat-7.0.61 web.xml web工程的部署描述文件.在web工程中此文件并不是必须有的. 位置:D:\tomcat7\apa ...
- Activiti工作流学习(一)——Activiti服务类
Activity有9个service1.DynamicBpmnService动态Bpmn服务Service providing access to the repository of process ...
- 多路IO复用模型--select, poll, epoll
select 1.select能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开的文件描述符个数并不能改变select监听文件个数 2.解决1024以下客户端时使用se ...
- Archiva 不小心删掉了管理员权限怎么办
Archiva 的界面和 UI 比较容易出问题. 在添加用户和为用户进行权限修改的时候,不小心连 admin 这个用户的权限都删掉了. 这个时候应该如何恢复 admin 这个用户的权限? 这个时候你可 ...
- Eclipse的快捷键设置及使用
Eclipse快捷键的设置和使用 java程序开发,经常会用Eclipse或者MyEclise集成开发环境,一些实用的Eclipse快捷键和使用技巧, 可以在平常开发中节约出很多时间提高工作效率,下面 ...
- 1656:Combination
一本通1656:Combination 1656:Combination 时间限制: 1000 ms 内存限制: 524288 KB提交数: 89 通过数: 49 [题目描述] ...
- final关键字的理解
final :最终作为一个修饰符 1.可以修饰类,函数,变量: 2.被final修饰的类不可以被继承: 3.被final修饰的方法不可以被复写: 4.被final修饰的变量是一个常量,只能赋值一次,既 ...
- chrome console控制台引入jquery库
var jqueryJs=document.createElement('script');jqueryJs.setAttribute("type","text/Java ...