Bai*_*kev 7 javascript internet-explorer undefined
我经常看到JavaScript代码,其中一个函数可以包含在"options"对象中并使用它,如:
var name = typeof options.name !== 'undefined' ? options.name : "Bob";
Run Code Online (Sandbox Code Playgroud)
这似乎等同于以下内容:
var name = options.name || "Bob";
Run Code Online (Sandbox Code Playgroud)
现在,我明白在某些情况下你可能真正关心的options.name是undefinedvs null,这对我来说是有意义的,但我经常在不需要这种区别的情况下看到这一点.
我相信我听说人们因为IE中的一些错误而编写这样的代码.有人可以详细说明吗?
我不知道IE中的错误,但这些语句并不完全等效:
第一个只在is 时将name变量设置为默认值."Bob"options.nameundefined
第二个将name变量设置为何"Bob"时options.name为假.这可以是空字符串,null值,值0,NaN值,布尔值false等undefined.
例如,如果options.name === 0,第一个语句将name变量设置为0,而第二个语句将其设置为"Bob".
| 归档时间: |
|
| 查看次数: |
6712 次 |
| 最近记录: |