首页 > Web开发 > 详细

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

时间:2016-02-27 02:13:25      阅读:166      评论:0      收藏:0      [点我收藏+]

?

?<!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>

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

原文:http://mumu-shoucang.iteye.com/blog/2279124

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!