正確辨析JavaScript句法中的詞句和段
JavaScript語法包含了合法的JavaScript代碼的所有規則和特征它主要分為詞法和句法詞法包括字符編碼名詞規則特殊詞規則等詞法側重語言的底層實現(如語言編碼問題等)以及基本規則的定義(如標識符關鍵字注釋等)它們都不是最小的語義單位卻是構成語義單位的組成要素例如規范字符編碼集合命名規則標識符關鍵字注釋規則特殊字符用法等
句法定義了語言的邏輯和結構包括詞句和段的語法特性其中段體現邏輯的結構句表達可執行的命令詞演繹邏輯的精髓
段落使用完整的結構封裝獨立的邏輯在JavaScript程序中常用大括號來劃分結構大括號擁有封裝代碼和邏輯的功能由此形成一個獨立的段落結構例如下面這些結構都可以形成獨立的段落
{
// 對象
}
function (){
// 函數
}
if (){
// 條件
}
for (){
// 循環
}
while (){
// 循環
}
switch (){
// 多條件
}
with (){
// 作用域
}
try{
// 異常處理
}
段落結構包含的內容可以是一條或多條語句可以在段落起始標記({)前面添加修飾詞如域謂詞(withcatch)邏輯謂詞(ifwhileforswitch等)函數謂詞(function fn(arg))等
語句是由多個詞構成的完整邏輯在JavaScript中常用分號()來劃分語句有時也可以省略分號默認使用換行符表示完整的語句
一條語句可以包含一個或多個詞例如在下面兩條語句中第一條語句只有一個詞這是一個指令詞該指令只能位於循環體或switch結構體內第二條語句包含個詞alert表示函數名(即變量)小括號表示運算符而提示信息表示字符串直接量
break;
alert(提示信息)
一條語句也可以包含一個或多個段落例如在下面這條語句中直接把一個函數當做一個變量進行調用
(function(i){
alert(i)
})(提示信息)
還可以把函數包含在一個閉包中形成多個結構嵌套這個嵌套結構體就構成了一個復雜的語句例如
(function(i){
return function(){
alert(i)
};
})(提示信息)()
語句一般至少包含一個詞或段落但是語句也可以什麼都不包含僅由一個分號進行標識這樣的句子稱為空語句空語句常用做占位符例如在下面這個循環體內就包含了一個空語句
for(var i; i<;i++){
;
}
詞語是JavaScript句法結構中的最小語義單位包括指令(或稱語句)變量直接量(或常量)運算符等在JavaScript中詞語之間必須使用分隔符進行分隔否則JavaScript就會錯誤解析下面的代碼塊是一個簡單的求兩個數平均值的方法
var a = ;
var b = ;
function aver(cd){
return (c+d)/;
}
alert(aver(ab))
其中varfunctionreturn是指令這些指令也是JavaScript默認的關鍵字abcdaveralert為變量是數值直接量=(){}/+是運算符
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19134.html