当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)

Javascript
Javascript实例教程(17) 使用Javascript的数学函数
JavaScript 小技巧(第六集)
Javascript实例教程(16) 日期函数
javascript中如何实现浏览器上的右键菜单
Javascript实例教程(21) OLE Automation(7)
JavaScript 小技巧(第二集)
Javascript设计网页中的下拉菜单
用JavaScript使链接按钮不断变化
如何制作浮动广告
JavaScript[对象.属性]集锦之一
将金额小写转化成汉字大写的实现过程
Javascript制作浮动的工具条
JavaScript[对象.属性]集锦之二
JavaScript 小技巧(第五集)
JavaScript 小技巧(第七集)
完美解决一个事件激活多个函数
JavaScript入门学习之一
在客户端把表格行变成列,列变成行并保持TD的属性不丢失
用 Javascript 实现的“Dual listbox”(双向选择器)
我与Javascript 随笔(一)(献给所有爱好Javascript的朋友)

Javascript 中的 JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 88 ::
收藏到网摘: n/a

今天在看《Extjs中文手册》的时候,写了四五行样例代码,结果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内容:
复制代码 代码如下:

/*
Author:binarytree
*/
// 填充图片的本地引用
Ext.BLANK_IMAGE_URL = 'resources/images/default/s.gif';
// 命名空间
Ext.namespace('myNameSpace');
// 创建应用程序
myNameSpace.app = function()
{
return
{
init: function()
{
alert('程序初始化完毕');
}
};
}();

网上索引一番,等到如下结果:ECMAScript规定在有些情况下,可以对JavaScript语句执行自动分号补全,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解析引擎解析的时候自动补全了分号,导致后面的语句不能执行;
解决办法:return后面的大括号不要在新行起用,避免被自动补全分号;
虽然很简单,但对我是今天的新知之一;^__^