什么更好 - javascript:functionName() 还是仅仅 functionName()?

3

你的答案在这里:https://dev59.com/YHRC5IYBdhLWcg3wOeSB请使用搜索 :) - Oyeme
谢谢,我使用了搜索功能,但是在搜索了10分钟的javascript:和其他类似的内容后,我放弃了并写下了问题。 - Unknown
4个回答

4

实际上最好不要混合JavaScript和标记语言。因此,您可以使用JavaScript在单独的文件中不显眼地附加此onclick事件处理程序。但就您的问题而言,您不需要javascript:前缀。


2
“javascript:” 根据出现的位置有不同的含义。
在 URI 中,它表示执行 JavaScript 以获取资源。这不是 渐进式非侵入式 的,应该避免使用。
在 JavaScript 中(即 onclick 属性的值),它是一个 标签
  • whiledoforswitch之外,标记任何东西都没有意义。
  • 大多数情况下,如果标签会有用,重新构建代码会更好。
  • javascript是JavaScript程序中语句的糟糕标签。
  • 如果您在onclick属性中有whiledoforswitch,那么出于您自己的清醒,需要将其分解为一个函数以便以后阅读。
  • onclick属性不是无障碍,无论如何都应该避免使用。

1

为了关注点分离和不侵入式 JavaScript,最好不要在 HTML 中使用 JavaScript。

如果您想添加 onclick 事件,请使用以下代码:

document.getElementById('element').onclick = functionName

在你的 JavaScript 文件中,这样可以将表示层(HTML)与逻辑层(Javascript)分离。

1

将JavaScript与标记分离(也称为行为分离不显眼的JavaScript)是正确的方法。当您将JavaScript放在标记内(例如<div onclick="[javascript:]startMyFunction()" ...>),表达式必须进行eval,这会生成另一个解释器。
因此,将脚本放在其应该存在的位置更有效:在JavaScript标记内。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接