<script type="text/javascript">
var maxWidth = 0;
var obj = {x : 0 };
var position = maxWidth || obj.x || NaN || 200;//"穿越"操作
alert(position);
</script>
代码会从左到右依次进行测试,找到合法的值就停止。“合法”的意思是不为如下值之一:0、null、undefined、NaN。如果maxWindth值不合法,就会取obj.x,如果obj.x还不合法,就会取到最终的200。
使用穿越技巧进行参数过滤,把默认值放到最后一个,即可保证一定不会出现参数错误.
true ==1 为真
true !=1 为假
true !==1 为真
false == 0 为真
false !=0 为假
false !==0 为真
null ==undefined 为真
null !==undefined 为真
NaN和谁都不等,和自己也不等。
本文探讨了JavaScript中不同类型的值比较(如true与1、false与0、null与undefined)的结果,并通过一个示例展示了如何利用逻辑或运算符设置默认参数值,确保函数调用时参数的有效性。

694

被折叠的 条评论
为什么被折叠?



