原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Lexical.html
JavaScript的词法构造
字符集
JavaScript顺序是用Unicode字符集。支撑地球上险些一切在用的言语。
var π = 3.14;
JavaScript是辨别大小写的言语的。须要注重的是,HTML并不辨别大小。
online 与 Online 在JavaScript是差别的,在HTML是雷同的。
JavaScript会疏忽顺序中标识之前的空格。多半情况下也会疏忽换行符。如许我们能够经由过程空格和换行,坚持整洁,一致的编码作风。须要注重的是,假如当前语句和随后的非空格字符不能当做一个整句,JavaScript不会疏忽换行符而是在语句行完毕处弥补分号。比方:
var a
a
=
3
console.log(a)
JavaScript将其剖析为:
var a; a = 3; console.log(a);
在有些计算机硬件和软件里,没法显现或输入Unicode字符全集。为了支撑那些运用老旧手艺的顺序员,JavaScript定义了一种特别序列,运用6个ASCII字符代表恣意16位Unicode内码,平常为转义序列均以\u为前缀,厥后追随4个十六进制数
é // \u00E9
解释
JavaScript支撑两种花样的解释:
//这里是单行解释
/*这里是一段解释*/
直接量
所谓直接量,就是顺序中直接运用的数据值:
12 //数字
1.2 // 小数
"hello world" // 字符串
'Hi'// 字符串
true // 布尔值
false // 另一个布尔值
/javascript/gi //正则表达式直接量
标识符
标识符就是一个名字,在JavaScrpt中,标识符用来对变量和函数举行定名
JavaScript标识符必需以字母,下划线或许美圆符最先
var _secret, $dom;
后续的字符能够使字母,数字,下划线或美圆符
var _1234567, super_secret, _$;
一般运用ASCLL字符
var iVar;
保留字
经常使用的保留字
break delete case do catch else continue false debugger finally default for function return typeof if switch var in this void instanceof throw while new true with null try
ECMAScript 5 的保留字
class const enum export extends import super
在严厉形式下的保留字
implements let private public yield interface package protected static
ECMAScript 3, 保留了java言语中一切的关键字
abstract double goto boolean enum implements byte export import char extends int class final interface const float long native static package super private synchronized protected throws public transient short volatile
预定义的全局变量
arguments encodeURI Infinity Array encodeURIComponent isFinite Boolean Error isNaN Date eval JSON decodeURI EvalError Math decodeURIComponent Function NaN Number Object parseFloat parseInt RangeError ReferenceError RegExp String SyntaxError TypeError undefined URIError
分号
- 当没有分号就没法剖析代码时,把换行符当做一个分号
- 当换行符的下一个非空字符没法解释为语句的连续时,把换行符当做一个分号
- 假如一条语句以 (, [, /, +, or -开首, 能够会被解释为是之前语句的连续
两个例子
假如一个换行符背面没有任何字符,JavaScript会把它解释为分号
function() { return 1; }
++ 和 −− 操作符
- 必需与他们的表达式在统一行
- 不然, 换行符会被当做是分号, ++ 或许 — 会被剖析为前缀的操作符在以后的代码上。