js精髓(一)

感觉更适合叫js精髓和js冷知识——甚至是简洁js指南

1.语法

1.1注释:

/* */的注释,会受正则干扰。

/*
    var rm_a = /a*/.match(s);
*/

1.2标识符

js漏掉了一些本该设成保留字的字:undefined、NaN、和Infinity
js不允许在对象字面量中,或者用点运算符提取对象属性时,使用保留字作为对象的属性名(作者表示很糟糕,未get到)

1.3数字

js只有一个数字类型,内部表示为64位的浮点数。没有分离出整数类型,所以1和1.0的值相同。避免了短整型的溢出问题。
指数:100和1e2相同
负数:可以用前置运算符-
NaN:是一个数值,表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。检测:isNaN(number)
Infinity:表示所有大于1.7976313486231570e+308的值(感觉没啥情境用到...)

1.4字符串

字符串字面量被包括在单引号或双引号中。
\:转义字符。

\u约定用来指定数字字符编码。

js被创建的时候,Unicode是一个16位的字符集,所以js中的所有字符都是16位的。
js没有字符类型,要表示一个字符,只需创建仅包含一个字符的字符串即可。(所以?意义是?)
length属性
字符串不可变,但可以用+连接其他字符串创建新字符串
两个包含着完全相同的字符且字符顺序也相同的字符串被认为的相同的字符串
字符串有一些方法

你可能感兴趣的:(js精髓(一))