javascript细节知识
-
字符串转数字:
字符串 * 1。 -
其他类型转字符串:
字符串" + 值。 -
!!值,可以将值转换为布尔类型。 -
!值,可以将值转换为布尔类型并取反。 -
"",null,undefined,0,NaN,在进行条件判断时,会被自动转换为false。 -
Boolean,Number,String的new对象都可以通过valueOf()转换为对应值。 -
for..in会自动过滤掉不存在的元素(比如数组设置length数)。 -
数组
arr.length设大不会分配更多空间。 -
数组
delete只会删除值,不会删除数组位。 -
对象字面量的"键"可为空字符串。
-
Array.prototype.slice.call(arguments)转化速度比较慢。 -
setTimeout/setInterval从第三个参数开始,全部都为函数参数项。 -
eval只在被直接调用并且调用函数就是eval本身时,才在当前作用域中执行。 -
typeof()中的括号代表的是分组操作符,而不是意味着typeof是作为函数使用。 -
NaN——"不是数字",属于特殊数字-
运算失败会得到NaN
-
NaN与任何数字运算结果都为NaN
-
-
(Infinity | -Infinity)——无穷数-
任何数除以0都为(Infinity|-Infinity)
-
Infinity和-Infinity的相互运算都为NaN
-
Infinity和-Infinity与数字的常规运算都为(Infinity|-Infinity)
-
-
对象数组化
var obj= { age: 12 }; Array.prototype.push.call(obj, 1, 2); console.log(obj); // { 0: 1, 1: 2, age: 12, length: 2 }

浙公网安备 33010602011771号