2011-05-31 77 views
3

實際上,我經常看到這種引用是爲什麼在編寫ECMAScript時使用K & R風格。瞭解ECMAScript隱式分號和空白字符分析

function foo() { 
    return 
    { 
     foo: 1 
    } 
    ; 
} 

這並不在ECMAScript中或Javascript工作:隱式分號除了導致函數返回undefined。但是我看到這一切的時候太

function bar() { 
    var a = "BAR"; 
    return a 
    .toLowerCase() 
    ; 
} 

而且,我不知道爲什麼隱含分號不會在返回"BAR"造成的,爲什麼bar得到恢復呢?

+0

我意識到這基本上是你的問題所在,但這裏使用的空白是可怕的。 – 2012-01-27 15:43:49

回答

2

因爲該語法不能在行尾使用隱式分號。

如果添加了分號:

function bar() { 
    var a = "BAR"; 
    return a; 
    .toLowerCase() 
    ; 
} 

,你會得到下一行有語法錯誤。