关于href="javascript:void 0;"

本文介绍了在HTML文档中使用JavaScript URL的具体方法,包括如何通过URL中的javascript协议执行JavaScript代码,以及使用void操作符避免页面跳转的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:根据《JavaScript权威指南》总结。
犀牛书里面总结了四种在HTML文档中嵌入JavaScript代码的方法:

  1. 内联。放置在<script>标签里面;
  2. 放置在<script>标签的src属性指定的外部文件中;
  3. 放置在HTML事件处理程序中,该事件处理程序由onclick或者onmouseover这样的HTML属性值指定;
  4. 放在URL里面,这个URL使用特殊的“javascript:”协议。

    那么href="javascript:void 0;"就是第四种引用js的方法。

一、URL中的javascript用法

在url中使用javascript这种协议类型指定,javascript:后面的字符串会被JavaScript解释器执行,它被当做单独的一行代码。
部分浏览器会将代码的执行结果作为新页面的显示内容。
其他浏览器不允许URL像上面一样覆盖当前文档。

当代码没有返回值时,浏览器都不会发生跳转,所以实际上href="javascript: /*some code here*/"差不多等价于onclick=/*some code*/
二、href=”javascript:void 0;”的意图
为了确保javascript:URL 不会覆盖当前文档,强制用void 操作符给表达式赋予undefined;
三、为什么不直接使用undefined?
上面说到用void来赋予undefind,为什么不直接返回undefined?
这是因为浏览器中,undefined是window对象的一个属性,而在有些浏览器中允许修改这个属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值