zoukankan      html  css  js  c++  java
  • JavaScript自动分号插入(JavaScript synat:auto semicolon insertion)

    今天在看《Extjs中文手册》的时候,写了四五行样例代码,结果IE和Firefox一直报错不通过。

    看代码:

    HTML:

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>index</title>
     6 <link rel="stylesheet" href="resources/css/ext-all.css" />
     7 <script type="text/javascript" src="adapter/ext/ext-base.js"></script>
     8 <script type="text/javascript" src="ext-all.js"></script>
     9 <script type="text/javascript" src="index.js"></script>
    10 <script type="text/javascript">
    11 Ext.onReady(myNameSpace.app.init, myNameSpace.app); 
    12 </script>
    13 </head>
    14 
    15 <body>
    16 <div id="mydiv"></div>
    17 <id="1">1</p>
    18 <id="2">2</p>
    19 <id="3">3</p>
    20 <id="4">4</p>
    21 </body>
    22 </html>

    index.js内容:

     1 /*
     2 Author:binarytree
     3 */
     4 // 填充图片的本地引用
     5 Ext.BLANK_IMAGE_URL = 'resources/images/default/s.gif';
     6 // 命名空间
     7 Ext.namespace('myNameSpace'); 
     8 // 创建应用程序
     9 myNameSpace.app = function()
    10 {
    11     return 
    12     {
    13         init: function()
    14         {
    15             alert('程序初始化完毕');
    16         }
    17     };
    18 }();
    19 

    网上索引一番,等到如下结果: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后面的大括号不要在新行起用,避免被自动补全分号;
    虽然很简单,但对我是今天的新知之一;^__^

  • 相关阅读:
    QuantLib 金融计算
    【翻译】《理解收益率曲线》系列
    QuantLib 金融计算——C++ 代码改写成 Python 程序的一些经验
    可转债研报阅读笔记
    SWIG 3 中文手册——13. 约定
    SWIG 3 中文手册——12. 自定义功能
    SWIG 3 中文手册——11. 类型映射
    【翻译】Quant 应该怎样写博客?
    QuantLib 金融计算——案例之普通利率互换分析(2)
    仿射期限结构模型:理论与实现——实现部分
  • 原文地址:https://www.cnblogs.com/binarytree/p/1595977.html
Copyright © 2011-2022 走看看