让我们假设您必须创建一个没有意义的JavaScript链接href
.(我知道这种做法值得怀疑.)在这种情况下,为什么有这么多人使用......
<a href="javascript:void(0);"> My link </a>
Run Code Online (Sandbox Code Playgroud)
知道void(0)
评估结果undefined
,我可以简单地使用以下逻辑吗?
<a href="javascript:undefined;"> My link </a>
Run Code Online (Sandbox Code Playgroud)
为什么人们使用void(x)
而不是undefined
?
两者都可以工作,但undefined
都是保留变量,其值可以更改:
undefined = true;
Run Code Online (Sandbox Code Playgroud)
这将给出 true 而不是 undefined。
其中 as是一个始终返回 undefined 的void()
关键字。无论您在关键字中放置什么:
void('return false plox'); //will return false
有关此主题的更多信息,请参见:“void 0”是什么意思?
请注意,这<a href="#">
并不相同,因为它仍然充当链接并会重定向您,而之前的方法将取消事件(类似于event.preventDefault
)。
更新
自 ECMAScript 5 起,全局undefined
变量不再可直接编辑(例如,请参阅 Mozilla 文档)。正如一些人所指出的,它现在只是隐藏了全局变量。
归档时间: |
|
查看次数: |
3221 次 |
最近记录: |