effective js-6-了解分号的插入

 <!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>js-了解分号的插入</title>

</head>

<body>

<script>

/*****特别注意(,[,+,-,/*********/

var f = function() {

   alert(123);

}

var b

var x

var a = b

// (f()) // 会被解析为 var a = b(f()); 并不会插入分号。// 会报typeerror:undefined is not a function 

/******return后回车会加入分号*************/

var fn = function() {

   return 

   {};

};

alert(fn()); // undefined; 会在return 后插入分号

var fn1 = function() {

   return {};

};

alert(fn1()); // object

/******++,--插入分号的情况******************/

var c = 1;

var d = 2;

c

++

d; // c为1; d为3;

</script>

<p>

★★★关于 分号的插入 必须知道的是★★★:

 分号插入规则:

 1. 分号仅在}之前,一个或多个换行之后,和程序输入的结尾被插入。

    也就是说,只能在一行、一个代码块、和一段程序结束的地方省略分号。

  function square(x) {

 var n = +x// 此处省略分号是合法的

 return n * n // 亦合法

  }

  function area(r){r = +r return r * r;} // syntax error

  

 2. 分号仅在随后的输入标记不能解析时插入,

 特别注意 (,[,+,-,/这五个字符。它们既是运算符,又是一条语句的前缀。参照 <script>的代码

 3. 强制插入分号的场景

    return 关键字后的换行

    throw、break、continue、++、--

    

 4. 不会插入分号的场景

    for, 

         空循环(while(true),for(var i=0;i<10;i++))// 会直接报语法错误

</p>

</body>

</html>

猜你喜欢

转载自mumu-shoucang.iteye.com/blog/2279124