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

Javascript
网页常用小技巧—javascript篇
中文的版用javascript实现超酷的“网页时钟”
60秒倒计时的一个小javascript
一步一步教你用JS和INF编辑注册表
仿Office 2003的工具条
javascript加密解密终级指南
在网页里做类似window右键的弹出式菜单
几行代码轻松搞定网页的简繁转换
利用Yahoo! Search API开发自已的搜索引擎-javascript版
服务器控件中js脚本注册方法
一行代码生成Google SiteMap
用javascript连接access数据库的方法
javascript+xml实现二级下拉菜单,不会被任何标签或元素遮住
javascript的IE和Firefox兼容性汇编
TreeView节点互斥,autopostback=false的方法
一个解析URL及图片地址的JS函数
javascript模拟ACDSEE简单功能
实现textarea内字符串选择查询替换功能
javascript Web页面内容导出到Word、Excel
在客户端设置cooke和获取cooke的函数

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


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