正确辨析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为变量是数值直接量=(){}/+是运算符