JS基本语法(2)
1. 语法
JavaScript 语法和 Java 语 言类似,每个语句 以 ; 结束,语句 块 用 {...} 。但是,JavaScript 并不 强制要求在每个语句 的结尾加 ; ,浏览器 中负责执 行 JavaScript 代码的引擎会 自动在每个语句 的结尾补上
; 。
注意:
让 JavaScript 引擎 自动加分号在某些情况下会改变程序的语义,导致运 行 结果与期望不 一致。所以 一般情况下,每个该加 ; 的语句 我们都 自 己加上 ; 。
例 如,下 面的 一 行 代码就是 一个完整的赋值语句 。
var x = 1;
下 面的 一 行 代码包含两个语句 ,每个语句 用 ; 表示语句 结束:
var x = 1; var y = 2;
但是不 建议 一 行 写多个语句 。
语句 块是 一组语句 的集合。即使 用 大括号 {...} ,将多个相关的语句 组合在 一起 。
例 如:
if (2 > 1) { x = 1;
y = 2; z = 3;
}
注意 {...} 内的语句 具有缩进,通常是安 一下 Tab 键。缩进不 是 JavaScript 语法要求必须的,但缩进有助于我们理 解代码层次,所以编写代码时要遵守缩进规则。
{...} 还可以嵌套,形成层级结构:
if (2 > |
1) |
{ |
x = |
1; |
|
y = |
2; |
|
z = |
3; |
|
if (x < y) { z = 4;
}
if (x > y) { z = 5;
}
}
JavaScript 本身对嵌套的层级没有限制,但是过多的嵌套 无疑会 大 大增加看懂代码的难度。
2. 注释
注释是给开发 人员看的,JavaScript 引擎会 自动忽略 。
1. 以 // 开头直到 行 末的字符被视为 行 注释。
// 这是 一 行 注释 alert("hello world"); //这也是注释
2. 另 一种块注释是 用 /*...*/ 把多 行 字符包裹起来,把 一 大块视为 一个注释。 /* 从这 里 开始是块注释 仍然是注释 仍然是注释 注释结束 */
3. 标识符
标识符就是给变量 、函数、和对象等指定的名字。
构成标识符的字 母是有 一定的规范,JavaScript 语 言中标识符的命名规则:
1. 区分 大 小写:
username
userName //这是两个不 同的标识符
2. 标识符的 首字符可以是下划线_ 、美元符 $ 或者字 母,但不 能是数字;其他字符可以是下划线
_ 、美元符 $ 、字 母或数字组成的:
_username $username username1
3. 标识符不 能使 用关键字和保留 字等:
关键字:
就是 JS 本身已经使 用了 ,具有 一定特殊的含义,就不 能再 用它们充当变量 名、 方法名等。包括(按字 母排序):
break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、
return、switch、
this、throw、try、typeof、var、void、
while、with 等
保留 字:
实际上就是预留 的“关键字”,意思是虽然现在还不 是关键字(也就是本身还不 具备特殊含义的),但是未来可能会成为关键字的,同样是不 能使 用它们当变量 名、 方法名的。包括(按字 母排序):
abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、
goto、implements、import、int、interface、long、
mative、package、private、protected、public、short、static、super、synchronized、throws、transient、
volatile 等
JS中预定义的 一些【全局变量 】和【函数】:
arguments Array Boolean
Date decodeURI decodeURIComponent
encodeURI encodeURIComponent Error eval EvalError Function
Infinity isFinite isNaN
JSON
Math Number NaN Object
parseFloat parseInt
RegExp RangeError ReferenceError String SyntaxError
TypeError undefined URIError
以下标识符是合法的:
userName user_name username1 username
以下标识符不 合法:
1username
*username public