在《JavaScript語(yǔ)言精粹》中,作者用鐵路圖(railroad diagram)來(lái)表示JavaScript中的語(yǔ)法,挺有意思的。
鐵路圖(railroad diagram),又叫語(yǔ)法圖(syntax diagrams),是一種表示形式語(yǔ)法的方式,是巴科斯范式和擴(kuò)展巴科斯范式的圖形化表示。規(guī)則如下:
① 從左邊界開始,沿著軌道到右邊界。
② 沿途,你在圓框中遇到的是字面量,在方塊中遇到的是規(guī)則或描述。
③ 任何沿著軌道能走通的序列都是合法的。
④ 任何不能沿著軌道走通的序列都是非法的。
⑤ 末端只有一個(gè)豎條的鐵路圖,表示允許在任意一對(duì)符號(hào)中插入空白。而在末端有兩個(gè)豎條的鐵路圖則不允許。
以函數(shù)字面量為例
簡(jiǎn)單說(shuō)一下,函數(shù)字面量定義了函數(shù)值。它可以有一個(gè)可選的名字,用于遞歸調(diào)用自己。他可以指定一個(gè)參數(shù)列表,這些參數(shù)就像變量一樣,在調(diào)用時(shí)有傳遞實(shí)際參數(shù)初始化。函數(shù)的主體包括變量定義和語(yǔ)句。
注意:圓角向內(nèi)表示循環(huán),向外則不循環(huán)?;蛘邔⒆笙禄±斫鉃槌隹?,右下弧理解為入口。