第一条
use strict 必须在文件的顶端或者函数的开始使用才有效果,所以,要使用立即调用的函数表达式。这个也是很多地方推荐的方法。
第二条
javascript的浮点数可以表示53位的整数,所以足够一般使用,这一点在php上也是类似的。可以解决32位系统上的无符号整数问题。
但是浮点数的运算精度是有问题的,所以在做浮点运算的时候,推荐转换成整数再计算。
第三条
判断NaN时,因为存在类型转换,isNaN也是不可靠的。可以利用NaN不等于自身的特点判断。
从函数参数接收传入值时,为了判断默认值,可以采用if(x)的方式。不过如果0是合法的,就需要采用typeof x === undefined 或者 x=== undefined来判断了。
第四条
封装类型存在==不能判断两者相等的问题,因为都是object。
第六条
分号一般在( [ + - /五种符号之前,必须插入,避免二意性。不过这个只是看别人代码的时候知道即可,不推荐自己也这么写。
第七条
这里涉及到unicode的编码原理。unicode一般采用的是双字节,但是不够,所以有16个辅助平面,总共是20位的长度,但是javascript已经采用了16位的字符表示方法。所以在辅助平面的字符,需要用两个字符位置来表示。这个会影响length和charAt,如果涉及这些字符,需要采用一些库。某些函数可以支持辅助平面的字符,如url编解码函数。
时间: 2024-10-06 11:14:30