什么是更好的 - javascript:functionName()或只是functionName()?

时间:2012-03-05 07:25:22

标签: javascript

  

可能重复:
  Do you ever need to specify javascript: in an onclick?

在onclick事件中写入MVC3有什么好处,例如我们用functionName()调用函数? javascript:functionName()或仅functionName()

4 个答案:

答案 0 :(得分:4)

实际上最好不要混用javascript和标记。所以你可以在一个单独的文件中使用javascript不引人注意地附加这个onclick事件处理程序。但就您的问题而言,您不需要javascript:前缀。

答案 1 :(得分:2)

javascript:表示不同的内容,具体取决于它出现的位置。

在URI中,它意味着执行JavaScript以获取资源。这不是progressiveunobtrusive,应该避免使用。

在JavaScript中(onclick属性的值为),它是label

  • 除了whiledoforswitch之外,没有必要标记任何内容。
  • 大多数情况下,如果标签有用,重构代码会更好。
  • javascript 是JavaScript程序中语句的可怕标签。
  • 如果您在onclick属性中有whiledoforswitch,那么您需要将其分解为一个函数,以便您当你以后再读它时,你会有自己的理智。
  • onclick属性不是unobtrusive,无论如何都应该避免。

答案 2 :(得分:1)

最好不要在HTML中使用javascript,以分离关注点和不引人注目的javascript。

如果要添加onclick事件,请使用以下命令:

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

在您的javascript文件中。这样,表示层(HTML)与逻辑层(Javascript)分离。

答案 3 :(得分:1)

将javascript与标记(又名behavioral separationunobtrusive javascript)分开是可行的方法。当你将javascript放在标记中时(如在<div onclick="[javascript:]startMyFunction()" ...>中),表达式必须是eval - ed,它会生成另一个解释器。
因此,将脚本放在它所属的位置更有效:在javascript标记内。