5

當我學習JavaScript時,我一直在瀏覽網頁,並在Javascript中看到許多對結構的引用,但我似乎無法找到它們是什麼以及它們不是什麼的完整定義,特別是在上下文中的Javascript。JavaScript中的構造究竟是什麼?

例如,在「類似的問題:」我看到,導致一個例子擔綱下面的代碼鏈接:

What is this construct in javascript?

(function() { 

})(); 

據我瞭解,這是一個概念,但是什麼他們是由什麼定義的?

+1

@dbaseman,更仔細地閱讀問題 – smartcaveman

+0

@smartcaveman謝謝,你是對的。 – McGarnagle

+0

@ u1sonderzug,有什麼你仍然在這裏困惑? – smartcaveman

回答

10

構造是一個通用術語,指的是特定編隊中的任意代碼集合。這不是一個特定於JavaScript的術語。

基本上,它可以適用於任何事情。因此,雖然您引用的代碼是一種稱爲自調用匿名函數的構造,但var x = "hello world";是一種稱爲變量聲明和賦值的構造。

+0

在JavaScript中,是否可以說任何以a;是一個構造?直到; ? – fakeguybrushthreepwood

+0

任何東西都是構造。關鍵字是一個構造。值文字是一個構造。分號不是必需的。你正在反思這一點。 – smartcaveman

+0

但是如果var x =「hello world」;是一種構念,基於你所說的'任何東西都是構造',這是否意味着'x'或者'世界'是一個構念?它不是以某種方式引用一行代碼嗎?我知道這聽起來可能很荒謬 - 但我真的不是100%清楚。 – fakeguybrushthreepwood

3

A language construct是您正在尋找的全部術語。根據連鎖定義:

一種語言構成是可以從一個或多個詞法標記按照編程語言的規則來形成的程序的語法上容許部分。

所以它是遵循語言規則的任何有效的書面代碼段。這是對「表達式」,「語句」,「函數參數列表」,「賦值語句」,「關鍵字」,「函數定義」等單詞的概括,每個單詞定義了一系列要查找的令牌以及它們將意味着語言的規則。完成的程序的代碼是與他們構造的

+0

「這是一個像......這樣的詞的泛化」,這就是爲什麼這是我的贏家。清楚表明「構造」是一個元概念,而不是一種編碼模式。 – Tom

0

MASTERING HTML4腳本參考由Deborah和埃裏克·雷:

結構是,你可以在JavaScript中使用控制腳本

他們繼續爲流動的結構按字母順序列出所有這樣的控件,其中包括Break,Comment,If,If else .... 因此,構造是JavaScript中非常具體的術語定義,用於命名和包含所有控制流的語句的一個腳本。