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

Javascript
VB倒计时器和JS当前时间
如何显示当天日期
一种JavaScript的设计模式
js变量作用域及可访问性的探讨
在JavaScript中实现命名空间
删除重复数据的算法
Javascript操纵Cookie实现购物车程序
键盘控制事件应用教程大全
通过JAVASCRIPT读取ASP设定的COOKIE
用函数式编程技术编写优美的 JavaScript
最简短的拖动对象代码实例演示
禁止刷新,回退的JS
js验证表单大全
js验证表单第二部分
DHTML 中的绝对定位
解决FireFox下[使用event很麻烦]的问题
准确获得页面、窗口高度及宽度的JS
js获取单选按钮的数据
检测屏幕分辨率
双击滚屏-常用推荐

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 164 ::
收藏到网摘: 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后面的大括号不要在新行起用,避免被自动补全分号;
虽然很简单,但对我是今天的新知之一;^__^