JavaScript 自動分號插入(JavaScript synat:auto semicolon insertion)
更新時間:2009年11月04日 23:51:43 作者:
今天在看《Extjs中文手冊》的時候,寫了四五行樣例代碼,結(jié)果IE和Firefox一直報錯不通過。
看代碼:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index</title>
<link rel="stylesheet" href="resources/css/ext-all.css" />
<script type="text/javascript" src="adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext-all.js"></script>
<script type="text/javascript" src="index.js"></script>
<script type="text/javascript">
Ext.onReady(myNameSpace.app.init, myNameSpace.app);
</script>
</head>
<body>
<div id="mydiv"></div>
<p id="1">1</p>
<p id="2">2</p>
<p id="3">3</p>
<p id="4">4</p>
</body>
</html>
index.js內(nèi)容:
/*
Author:binarytree
*/
// 填充圖片的本地引用
Ext.BLANK_IMAGE_URL = 'resources/images/default/s.gif';
// 命名空間
Ext.namespace('myNameSpace');
// 創(chuàng)建應(yīng)用程序
myNameSpace.app = function()
{
return
{
init: function()
{
alert('程序初始化完畢');
}
};
}();
網(wǎng)上索引一番,等到如下結(jié)果:ECMAScript規(guī)定在有些情況下,可以對JavaScript語句執(zhí)行自動分號補全,return就是其中之一;
Certain ECMAScript statements (empty statement, variable statement, expression statement, do-while statement, continue statement, break statement, return statement, and throw statement) must be terminated with semicolons. Such semicolons may always appear explicitly in the source text. For convenience, however, such semicolons may be omitted from the source text in certain situations. These situations are described by saying that semicolons are automatically inserted into the source code token stream in those situations.
我index.js里的第11行處,在JavaScript解析引擎解析的時候自動補全了分號,導(dǎo)致后面的語句不能執(zhí)行;
解決辦法:return后面的大括號不要在新行起用,避免被自動補全分號;
雖然很簡單,但對我是今天的新知之一;^__^
HTML:
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index</title>
<link rel="stylesheet" href="resources/css/ext-all.css" />
<script type="text/javascript" src="adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext-all.js"></script>
<script type="text/javascript" src="index.js"></script>
<script type="text/javascript">
Ext.onReady(myNameSpace.app.init, myNameSpace.app);
</script>
</head>
<body>
<div id="mydiv"></div>
<p id="1">1</p>
<p id="2">2</p>
<p id="3">3</p>
<p id="4">4</p>
</body>
</html>
index.js內(nèi)容:
復(fù)制代碼 代碼如下:
/*
Author:binarytree
*/
// 填充圖片的本地引用
Ext.BLANK_IMAGE_URL = 'resources/images/default/s.gif';
// 命名空間
Ext.namespace('myNameSpace');
// 創(chuàng)建應(yīng)用程序
myNameSpace.app = function()
{
return
{
init: function()
{
alert('程序初始化完畢');
}
};
}();
網(wǎng)上索引一番,等到如下結(jié)果:ECMAScript規(guī)定在有些情況下,可以對JavaScript語句執(zhí)行自動分號補全,return就是其中之一;
Certain ECMAScript statements (empty statement, variable statement, expression statement, do-while statement, continue statement, break statement, return statement, and throw statement) must be terminated with semicolons. Such semicolons may always appear explicitly in the source text. For convenience, however, such semicolons may be omitted from the source text in certain situations. These situations are described by saying that semicolons are automatically inserted into the source code token stream in those situations.
我index.js里的第11行處,在JavaScript解析引擎解析的時候自動補全了分號,導(dǎo)致后面的語句不能執(zhí)行;
解決辦法:return后面的大括號不要在新行起用,避免被自動補全分號;
雖然很簡單,但對我是今天的新知之一;^__^
相關(guān)文章
js字符串轉(zhuǎn)換為對象格式的三種方法總結(jié)
關(guān)于js里面的字符串轉(zhuǎn)對象,又或者是對象轉(zhuǎn)為字符串,都是平時開發(fā)應(yīng)用是經(jīng)常用到的知識點,下面這篇文章主要給大家介紹了關(guān)于js字符串轉(zhuǎn)換為對象格式的三種方法,需要的朋友可以參考下2022-12-12使用SyntaxHighlighter實現(xiàn)HTML高亮顯示代碼的方法
syntaxhighlighter是一個小開源項目,它可以在網(wǎng)頁中對各種程序源代碼語法進行加亮顯示。2010-02-02