javascript - 帮助我理解 javascript :void(null)

标签 javascript

有人可以帮我解决这个javascript:void(null) 我发现它在链接按钮中使用如下

<a onclick="ProcessResponse()" href="javascript:void(null)" >Accept Data</a>

最佳答案

void 是一个 JavaScript 运算符,但有时会被误认为是一个函数,因为通常使用它后面的方括号。 void 的预期目的是在不返回值的情况下评估表达式。因此,任何表达式都可以被 void 编辑,它不一定是 null 并且您经常会看到 void(0) 或不太频繁,void 0

当您在 href 属性中使用 javascript: 时,将计算以下表达式并返回其结果。这可以通过在您的浏览器地址框中输入以下内容来查看:

javascript:prompt("test");

在出现的框中输入任何内容,然后按回车键/单击“确定”。您会注意到该页面将消失,而您键入的任何内容都会出现。现在看看如果我们添加 void 0; 会发生什么:

javascript:prompt("test"); void 0;

在提示中点击确定后,没有任何反应。这是 void 0 的手笔,它返回 undefined,因此浏览器对此什么都不做。这也适用于链接中的 href(请随意尝试)。整个事情甚至可以写成 javascript:void prompt("test");

正如其他人所提到的,最好在事件处理程序中使用 return false; 而不是在 href 中使用 void。事实上,建议根本不要在 href 属性中使用 javascript:

关于javascript - 帮助我理解 javascript :void(null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2863878/

相关文章:

javascript - 如何通过客户端从 Chrome/Mozilla 导入 Windows 操作系统证书存储中的个人证书

javascript - 在所有元素上触发的主干事件监听器

javascript - 更改 css 属性取决于是否使用右键按下的条件

javascript - jQuery 没有在 CasperJS 的 evaluate() 函数中做任何事情

javascript - 在两个元素之间画一条连接线

javascript - 从 Sequelize 中的另一个表中计数

javascript - 如何生成 javascript 堆栈跟踪?

javascript - 如何从 Node 中的 module.exports 链调用函数

javascript - 访问静态 getDerivatedPropsFromState 内部的类函数

javascript - 如何在 Autotable jsPDF 中传递变量