js:void(0)含义

void关键字介绍
  首先,void关键字是javascript当中非常重要的关键字,该操作符指定要计算或运行一个表达式,但是不返回值。
  语法格式:

void func()
void(func())

实例1
  当点击超级链接时,什么都不发生。

<!-- 1.当用户链接时,void(0)计算为0,用户点击不会发生任何效果 -->
<a href="javascript:void(0);">单击此处什么都不会发生</a><br>

实例2
  执行void操作符当中的代码

<!-- 2.执行 void() 操作符中的代码 -->
<a href="javascript:void(alert('弹出的内容'))">点我弹出警告框</a><br>
<a href="javascript:void(console.log('输出到控制台的内容'))">点我输出到控制台</a><br>

实例3
  计算void操作符当中的算术
html & js:

<button type="button">点击按钮</button>
<script type="text/javascript">
    document.querySelector('button').addEventListener('click', function () {
        var a, b, c, d;
        a = void(b = 2, c = 3);
        console.log('a => ' + a);
        console.log('b => ' + b);
        console.log('c => ' + c);
        console.log('d => ' + d);
    });
</script>

控制台输出:

a => undefined
b => 2
c => 3
d => undefined

很显然,2赋值给了b, 3赋值给了c, a 和 d一样只是定义了没有赋值,所以为 undefined

# 与 javascript:void(0)的区别:
# 可以跳转到设置了id的目的地
javascript:void(0)则停留在原地,一动不动,我们称之为“死链接”


如下面这个例子:
当点击第一个链接时,一动不动
当点击第二个连接时,会跳转到指定id得位置

<a href="javascript:void(0);">点击,一动不动</a>
<a href="#destination">点我跳转</a>
<br><br><br>
<h2 id="destination">目的地</h2>

 

`javascript:void(0)` 是一种在 HTML 中常用的 JavaScript 表达式,其作用是阻止浏览器执行默认的跳转行为。当它被用作链接(`<a>` 标签)的 `href` 属性值时,点击该链接不会导致页面刷新或跳转到其他位置[^3]。 ### 含义解析 - **`void` 操作符**:在 JavaScript 中,`void` 是一个操作符,它可以对给定的表达式进行求值,然后返回 `undefined`。无论表达式的值是什么,`void` 都会返回 `undefined`。 - **`javascript:void(0)`**:当这个表达式被用作链接地址时,浏览器会执行 `void(0)`,即计算表达式 `0` 的值并返回 `undefined`。由于没有实际的 URL 或页面需要加载,因此不会发生任何导航行为[^1]。 ### 用途与示例 1. **防止链接跳转** 在网页开发中,有时需要创建一个可点击的元素(如 `<a>` 标签),但不希望用户点击后触发页面跳转。例如: ```html <a href="javascript:void(0)">点击这里</a> ``` 这种情况下,点击链接后页面不会有任何变化,也不会重新加载[^4]。 2. **结合事件处理函数** 如果需要在点击链接时执行某些自定义的 JavaScript 逻辑,而不希望页面刷新,可以将 `javascript:void(0)` 与 `onclick` 事件结合使用: ```html <a href="javascript:void(0)" onclick="doSomething()">点击执行操作</a> ``` 在这种写法中,`doSomething()` 函数会在点击时被调用,而页面不会滚动到顶部或刷新[^3]。 3. **替代方案** 虽然 `javascript:void(0)` 是一种常见做法,但它并不是唯一的选择。开发者也可以使用以下方式实现类似效果: - 使用 `#` 作为链接地址,并通过 `event.preventDefault()` 阻止默认行为: ```html <a href="#" onclick="event.preventDefault(); doSomething();">点击执行操作</a> ``` - 使用按钮或其他非链接元素来避免不必要的跳转行为。 4. **避免页面滚动问题** 在一些场景中,比如使用锚点 `#` 时,页面可能会自动滚动到顶部。为了避免这种情况,可以使用 `javascript:void(0)` 来确保页面保持当前位置[^3]。 5. **简化 AJAX 请求** 当使用 AJAX 技术更新页面内容而不重新加载整个页面时,`javascript:void(0)` 可以帮助开发者创建不会干扰当前状态的交互元素。 ### 注意事项 - 尽管 `javascript:void(0)` 在某些情况下非常有用,但在现代 Web 开发中,更推荐使用语义化的 HTML 和良好的事件处理机制来实现相同的功能。例如,使用 `<button>` 元素代替 `<a>` 标签,或者通过 `event.preventDefault()` 方法来控制链接的行为。 - 使用 `javascript:void(0)` 可能会影响用户体验,特别是在 SEO(搜索引擎优化)方面,因为搜索引擎可能无法正确解析这些链接的内容。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值