JS条件判断
来源:互联网 发布:ecjiaapp源码破解版 编辑:程序博客网 时间:2024/05/19 08:40
JavaScript 是一种可以在浏览器中运行的脚本语言,是一种弱语言(相对于C,C#,JAVA而言),只要是计算机语言就会使用到条件判断式,而JavaScript作为一种“弱”语言,它的条件判断常常令人困惑不解。
例如:
if ('0') alert("'0' is true");if ('0' == false) alert ("'0' is false");结果是,两次都 alert 了!那么 '0' 到底是 true 还是 false 呢?下面我们就来一起探讨js的条件判断一.单条件判断undefined-----falsenull----------false0-------------false"0"-----------true--字符串,非空字符串""------------false-1------------true--非0数字NaN------------falseNaN 用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根。总结:在 JavaScript 里,不为空 "" 的字符串、不为 0 的数字、不为 null 的对象、不为 undefined 的对象属性、不为NaN的布尔型 true,反正为false。二.理解==和===的区别1. ==会把比较的二者进行类型转换:2. ===是不会把比较的二者进行类型转换,是string就是string,是number就是number如: 0 === false; // false, 因为0是number,false是boolean,两者就肯定不相等 1 === true; // falseJavaScript中undefined==null 但undefined!==null undefined与null转换成布尔值都是false 。再深入分析下JS对于标量应用==比较时的情况 对于相同类型的两个标量的比较,除了NaN比较特殊之外(NaN==NaN返回false),都没什么疑点 而对于类型不同的两个标量的比较,JS就有一套严格的规则,其规则是,总将两边的值转换成数字,再看看转换结果数字是否相等 。将一个简单类型(这里指除undefined与null的值)与一个对象比较时, 先调用对象的valueOf方法,以期待返回一个标量,如果对象的valueOf方法返回的仍然是一个复合对象的话 就接着调用对象的toString方法以期待返回一个标量,如果仍然没有返回标量的话,就判为不相等 如果valueOf或toString方法之一返回一个标量,就用这个标量同==另一边的标量进行比较总结:Number,Boolean,String,Undefined这几种基本类型混合比较时,会将其转换成数字再进行比较 1.基本类型与复合对象进行比较时,会先将复合对象转换成基本类型(依次调用valueOf与toString方法)再进行比较 。2.undefined被当成基本类型,undefined转换成数字是NaN,因此undefined与除null之外的其它类型值进行比较时始终返回false(注意NaN==NaN返回false)3.null被当成复合对象,由于null没有valueOf与toString方法,因此和除了undefined之外的其它类型值进行比较时始终返回false到这里我们就应该能明白开始的例子为什么会alert两次了吧。同时提醒平常开发还可以使用“===",注意”==“和”===“的区别
0 0
- JS条件判断
- JS 条件判断
- js中if条件判断
- dot.js中条件判断
- js判断条件的语法格式
- JAVA利用js多条件判断
- JS各种常用条件判断代码集合
- js中if的条件判断
- 1-4-JS基础-条件判断
- JS的条件判断和循环
- 6.vue.js实例:条件判断
- js 里奇数的判断条件
- (二)Vue.js 条件判断 20170818
- 04.js,if...else条件判断
- 条件判断
- 条件判断
- 条件判断
- 条件判断
- 递归算法获取截取的所有需要内容
- 从框架看PHP的五种境界及各自的薪资待遇
- php:引用 与 赋值 的区别
- HDU 1285 (拓扑排序模板)
- 改变UIAlertController的标题、内容的字体和颜色
- JS条件判断
- PHP 基础小知识
- Android 获取版本号
- android中EditText之inputType属性
- 使用MaterialNavigationDrawer使侧滑菜单(抽屉导航)占满状态栏(statusbar)(5.0及以上)
- js回调app中的函数
- nginx 的限制连接模块limit_zone与limit_req_zone
- php:对象 和 引用 入门
- XCode自定义模板(支持OC和Swift)