語句

2018-06-16 15:21 更新

 語法:

Statement : Block VariableStatement EmptyStatement ExpressionStatement IfStatement IterationStatement ContinueStatement BreakStatement ReturnStatement WithStatement LabelledStatement SwitchStatement ThrowStatement TryStatement DebuggerStatement

 語義:

 一個(gè) Statement 可以是 LabelledStatement 的一部分,這個(gè) LabelledStatement 自身也可以是 LabelledStatement 的一部分,以此類推。當(dāng)描述個(gè)別語句時(shí)引入標(biāo)簽的這種方式統(tǒng)稱為“當(dāng)前標(biāo)簽組”。一個(gè) LabelledStatement 介紹了一個(gè)標(biāo)簽到一個(gè) 標(biāo)簽組 ,此外沒有其他語義。一個(gè) IterationStatement 或 SwitchStatement 的標(biāo)簽組最初包含單個(gè) 空 元素。任何其他語句的標(biāo)簽組最初是空的。

 The result of evaluating a Statement is always a Completion value.

 已知幾個(gè)廣泛使用的 ECMAScript 實(shí)現(xiàn)支持 FunctionDeclaration 當(dāng)作語句使用。然而,在實(shí)現(xiàn)之間這種 FunctionDeclarations 應(yīng)用的語義也有嚴(yán)重且不兼容的差異。由于這些不兼容的差異,將 FunctionDeclaration 當(dāng)作 Statement 使用的結(jié)果是代碼在實(shí)現(xiàn)之間的可移植性不可靠。建議 ECMAScript 實(shí)現(xiàn)禁止這樣運(yùn)用 FunctionDeclaration,或遇到這樣的運(yùn)用是發(fā)出一個(gè)警告。ECMAScript 的未來版本可能定義替代的兼容方案以在 Statement 上下文中聲明函數(shù)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號