内联JavaScript的最佳语法

时间:2013-07-15 17:43:27

标签: javascript html browser

之间有什么区别吗?
<a href="javascript:void(0)">Link</a>
<asp:Button ID="btn" runat="server" OnClientClick="return Function()" OnClick="btn_Click" Text="Button" />

<a href="javascript:void(0);">Link</a>
<asp:Button ID="btn" runat="server" OnClientClick="return Function();" OnClick="btn_Click" Text="Button" />

(JavaScript之后的;是不同的 - 这对任何特定的浏览器或任何东西都有影响吗?)

2 个答案:

答案 0 :(得分:6)

JavaScript具有自动分号插入功能,因此当您只使用单行设置内联事件处理程序时,没有显着差异。


也就是说,您不应该将事件处理程序添加到内联属性中。相反,您应该将HTML保存在.html文件中,将CSS保存在.css文件中,将JS保存在.js文件中。使用addEventListener(或jQuery's on method)绑定事件,您将能够在一个位置更改绑定事件,而不必搜索可能已添加{{1}的每个HTML文件属性。

答案 1 :(得分:4)

不,;是你想要一个接一个地执行多个命令。

示例:

onclick="alert('hello world'); alert('hello world2')"

JSFiddle:http://jsfiddle.net/menelaosbgr/UggHq/


编辑:

正如zzzzBov回答的那样,javascript有自动分号插入。

What are the rules for JavaScript's automatic semicolon insertion (ASI)?