我应该使用void 0或undefined在JavaScript中取消分配值,例如:
event.returnValue = void 0;
Run Code Online (Sandbox Code Playgroud)
要么
event.returnValue = undefined;
Run Code Online (Sandbox Code Playgroud)
the*_*eye 43
如果您正在使用现代浏览器(支持javascript 1.8.5)undefined并且void 0很可能相同(因为undefined它不可写),除了void可以接受表达式作为参数并对其进行评估.
在旧版浏览器中,(不支持javascript 1.8.5)最好使用void 0.看看这个例子:
console.log(undefined);
var undefined = 1;
console.log(undefined);
Run Code Online (Sandbox Code Playgroud)
它会打印出来
1
Run Code Online (Sandbox Code Playgroud)
undefined实际上是一个全球财产.(它不是关键字).因此,未定义可以更改,其中void运算符,不能在javascript中重写,并始终返回值undefined.请查看我今天早些时候给出的一个类似问题的答案/sf/answers/1355734481/.
结论:
所以,如果你担心兼容性,最好配合使用void 0.
“ void 0”更安全。“未定义”是一个值,就像其他值一样。可以用另一个值覆盖该值:
undefined = 3;
Run Code Online (Sandbox Code Playgroud)
如果您使用undefined,那将改变event.returnValue的含义。不过,“ void”是一个关键字,其含义无法更改。“ void 0”将始终给出未定义的值。
| 归档时间: |
|
| 查看次数: |
11483 次 |
| 最近记录: |