时间:2021-07-01 10:21:17 帮助过:17人阅读
数据类型 | 转换为true的值 | 转换为false的值 |
Boolean | true | false |
String | 任何非空字符串 | ""(空字符串) |
Number | 任何非零数字值(包括无穷大) | 0和NaN |
Object | 任何对象 | null |
Undefined | 无 | undefined |
var nul = null;
var na = NaN;
var test;
test = na&&nul;
document.write(test); //NaN
代码如下:
var nul = null;
var na = NaN;
var test;
test = nul&&na;
document.write(test); //null
因此,我们来总结一下。&&操作主要遵循几大原则:
1.短路操作原则;
2.求值过程中会被转型生成副本,但是返回值是原来值;
代码如下:
// 伪代码
function &&(param1,param2){
bparam1 = Boolean(param1);
if (!bparam1) return param1;
bparam2 = Boolean(param2);
return param2;
}
// 参数是一个对象时返回引用的指针值,函数同
3、逻辑或
逻辑或符号由两个竖线符号(||)表示。
逻辑或符号同样是短路操作符。其实现过程可以参照逻辑与的伪代码。这里就不再列出一些规则了。
逻辑或常常用来做参数的缺省处理,比如 evt = evt || window.event;