JS 中 && 和 || 区别与联系,
2017-04-18 10:58
597 查看
几乎在所有语言中 , || 和 && 都遵循“短路”原理,a && b 和 a || b : 将a, b转换为Boolean类型, 再执行逻辑与或逻辑否
在 js中 0 , null , undefined ,空字符串 都是false ,其他的值为true* 如 && 中第一个表达式为假就不会去处理第二个表达式,而 || 正好相反。
* js也遵循上述原则。
* 当 || 时,找到为true的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值。若 || 前后的两个值都是false , 则返回后面的值
var temp = null || "2" ;// null 为false , "2" 为true , 所以temp的值应该是2 alert(temp);
输出结果:2
var temp = "1" || "2" ;// 1为true , "2" 为true , 所以temp的值应该是1 alert(temp);
输出结果:1
var temp = null || undefined ;//null 和 undefined 都为false , 则返回undefined alert(temp);
* 当 && 时,找到为false的分项就停止处理,并返回该分项的值。如果都为true , 则返回最后为true的值
var temp = 1 && 2 ;// 1 和 2 都为true , 所以应该是返回 2 alert(temp);
输出结果:2
var temp = null && 2 ;// null 是false ,就不会执行后面了, 所以就停止处理返回null 了 alert(temp);
输出结果:null
相关文章推荐
- dojo.byId() dijit.byId() & jsId的区别与联系
- dojo.byId() dijit.byId() & jsId的区别与联系
- C,C#,C++中&&和||,&和|的联系和区别
- js中运算符"=="与"==="的区别
- js函数中onmousedown 和 onclick的区别和联系
- 分析 "ADO" "ADODB" "ADODC" 之间的区别与联系
- Js:new Fun_name() & Fun_name()的区别
- 抽象类&接口的区别和联系
- JS中apply和call的联系和区别
- linux进程创建过程与原理 & linux进程创建:fork、vfork和clone联系与区别
- JS中exec函数与match函数的区别与联系
- int int& int * int**的区别、联系和用途(一)
- 《Asp.net & IIS7 高级编程》读书笔记之 IIS 站点、应用程序、虚拟目录的联系和区别
- cin<<,cin.get(),cin.getline()等区别与联系
- js中onblur与onfocus函数中的几点区别与联系
- js中的"=="和equals()以及is()三者的区别
- C,C#,C++中&&和||,&和|的联系和区别
- PHP和JS中""和''的区别
- JS中exec函数与match函数的区别与联系
- js中比较运算符'=='和'==='的区别