【问题标题】:What is the void in Javascript [duplicate]Javascript中的空白是什么[重复]
【发布时间】:2012-09-06 22:45:29
【问题描述】:

可能重复:
what is the point of void in javascript
What does “javascript:void(0)” mean?

无论我在哪里看到这个javascript:void(0);,我认为什么都不做。 (我认为可以使用 javascript:; 而不是这个)

那天我在页面中看到javascript:void(x=document.getElementById('mytext').value);void(document.getElementById('mylabel').innerHTML=x); 代码。

我的问题很简单,为什么无效?虚空有什么作用?

【问题讨论】:

  • 请不要删除自动添加的文字。系统根据用户提供的链接添加。这两个链接都包含可以在这里共同回答您的问题的答案。
  • 与其说是重复的问题,不如说是现有答案也可以在这里回答您的问题。

标签: javascript


【解决方案1】:

我相信这是一种替代方法,即使在 jQuery 中也可以简单地终止单击。当您将点击处理程序附加到锚标记时,您应该始终在处理程序末尾返回 false -

$("#btn").on('click',function(){
  // make toast
  return false;
});

返回 false 会取消该事件将执行的任何其他操作。

当您将 javasctipt:void(0) 附加到元素的 onclick 时,您将阻止该事件执行任何操作并将所有工作留给您的 JavaScript。

【讨论】:

  • 'javascript:'-url 分配给href 属性。 void 0 就像将默认操作设置为“无”。
【解决方案2】:

void 是一个返回 undefined 的运算符,尽管计算以下表达式。不需要括号。

javascript:-urls 中使用它是因为任何返回值都会覆盖当前文档(如document.write())。

【讨论】:

    【解决方案3】:

    MDN documentation page

    此运算符允许插入产生副作用的表达式 进入计算结果为 undefined 的表达式的位置 想要的。

    void 运算符通常仅用于获取未定义的 原始值,通常使用“void(0)”(相当于“void 0")。在这些情况下,可以使用全局变量 undefined 来代替 (假设它没有被分配给一个非默认值)。

    【讨论】:

      猜你喜欢
      • 2015-03-21
      • 2017-06-09
      • 2021-09-16
      • 2013-05-05
      • 2017-09-25
      • 2018-08-08
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      相关资源
      最近更新 更多