2017-06-12 67 views
1

我在這種類型的大學縮排和大括號中使用了這種慣例。javascript - 縮進和大括號的位置

function code() 
{ 
    if(code) 
    { 
    code 
    } 
} 

但網上的教程在JavaScript告訴我做這件事,而不是風格

function code(){ 
    if(code){ 
    code 
    } 
} 

這第一個也是我喜歡的風格,因爲它更清晰易懂。我的問題是爲什麼我必須遵循第二個例子?有什麼優勢嗎?

+0

沒有任何優勢可言,除了兩個代碼少行。對於第一種形式的一些人來說,它也可能更具可讀性。 – hRdCoder

+0

您可以在第一個示例中隱藏不需要的空格。 – Ioan

+0

相同的代碼。相信原因是這是PHP的首選風格,它傾向於有多層,大多數JavaScript開發人員來自PHP背景。我的想法。 – AntonZlatkov

回答

-1

主要偏好。我個人更喜歡第二種方式,但唯一的區別是當javascript的自動分號插入啓動時。處理函數聲明或if語句時沒有區別。

+0

在某些情況下,由於自動分號插入而不是真,執行會有所不同。 –

+0

啊,TIL。我總是使用相同的開頭括號,所以我從來沒有遇到過這個問題。 – Xanuthatusu

+0

恩,是的,有函數聲明和if語句有區別(由於自動分號插入,它總是插入)。 –

1

官方的答案是你可以使用,但實際的答案是,使用開放大括號與其定義的代碼塊在同一行上的版本更安全。

在JavaScript中,{}是對象文本的語法,JavaScript也具有自動分號插入功能。這種自動分號插入可以導致函數的開頭花括號與它所定義的函數不同,但執行的方式與您預期的不同。有關詳細信息,請參閱本:

Why does a results vary based on curly brace placement?