1.javascript程序要求使用unicode字符集。
2.区分大小写。
3.会忽略程序中的空格符、制表符和换行符(除非是正则或者字符串的一部分)。
4.如果语句在不同的行,可以省略掉最后的分号。另外,js解释引擎会尝试在所有可能的语句后面加分号。于是会导致以下的语句出错:
return
true;
将会被处理成
return;
true;
5.注释方式 // 或者 /* */
6.直接量,程序中直接显示的数据值,有数字、字符串、正则表达式、布尔值、null、对象、数组。
7.标志符的第一个字母必须是字母、下划线或者$
8.保留字:
abstract | arguments | boolean | break | byte |
case | catch | char | class* | const |
continue | debugger | default | delete | do |
double | else | enum* | eval | export* |
extends* | false | final | finally | float |
for | function | goto | if | implements |
import* | in | instanceof | int | interface |
let | long | native | new | null |
package | private | protected | public | return |
short | static | super* | switch | synchronized |
this | throw | throws | transient | true |
try | typeof | var | void | volatile |
while | with | yield |
内置对象及方法名:
Array | Date | eval | function | hasOwnProperty |
Infinity | isFinite | isNaN | isPrototypeOf | length |
Math | NaN | name | Number | Object |
prototype | String | toString | undefined | valueOf |
10.数字,采用64位浮点数表示。
Sign : 1 bit(第63个bit)
Exponent :11 bits (第 62 至 52 共 11 个bits)
Fraction :52 bits (第 51 至 0 共 52 个bits)
64位非0浮点数的真值为(python语法) :
(-1) **Sign * 2 **(Exponent-1023) * (1 + Fraction)
所以整数最大值为2的53次方,最小值为负2的53次方。
0x和0X开头表示16进制数,0开头的表示8进制数。
11.在数字上使用toString(基数),如果是数字直接使用,要加括号,如(52).toString()
12.特殊数值
Infinity 表示无穷大的特殊值
NaN 特殊的非数字值
Number.MAX_VALUE 可表示端最大数字
Number.MIN_VALUE 可表示端最小数字
Number.NaN 特殊的非数字值
Number.POSITIVE_INFINITY 表示正无穷大的特殊值
Number.NEGATIVE_INFINITY 表示负无穷大的特殊值
函数isNaN用于检测数值是否为NaN,函数isFinity用于检测数值是否为NaN,正无穷大或者负无穷大。
NaN表示一个未定义的结果或者错误(例如零除零),与任何值都不相等,包括它自己。