知识点7

1、javascript中不存在块级作用域,因此在循环内部定义的变量在循环外部也可以访问到。


2、for-in语句是一种精准的迭代语句,它的返回结果是无序的。
如果表示要迭代的对象的变量值为 null 或 undefined,for-in 语句会抛出错误。虽然ECMAScript5更正了这一行为;对这种情况不再抛出错误,
而只是不执行循环体。为了保证最大限度的兼容性,建议在使用 for-in 循环之前,先检测确认该对象的值不是 null 或 undefined。


3、var message; 这样未经过初始化的变量,会保存一个特殊的值 undefined
在函数中使用 var 定义一个变量,那么这个变量是局部变量在函数退出后就会被销毁


4、正无穷、负无穷

由于内存限制,JavaScript 能表示的数值范围从 Number.MIN_VALUE 到 Number.MAX_VALUE,并将超出范围的数转换成 Number.POSITIVE_INFINITY
或 Number.NEGATIVE_INFINITY。0作为除数是不会报错的,正数除以0返回正无穷,负数除以0返回负无穷,0除以0返回NaN。例如:
console.log(Number.MAX_VALUE); // 最大数 1.7976931348623157e+308
console.log(Number.MIN_VALUE); // 最小数 5e-324

console.log(Number.POSITIVE_INFINITY); // 正无穷 Infinity
console.log(Number.NEGATIVE_INFINITY); // 负无穷 -Infinity

console.log( 1 / 0); // Infinity
console.log(-1 / 0); // -Infinity

JavaScript 提供了 isFinite() 函数,来确定一个数是不是有穷的。例如:

console.log(isFinite(100)); // true
console.log(isFinite(Infinity)); // false


5、NaN(not a number),是一个特殊的数值。之所以称它为「非数值」,是因为它不能参与算数运算,任何涉及 NaN 的操作都返回 NaN。并且 NaN 与任何值都不相等(包括自身)

posted @ 2016-11-18 11:44  zhangmin1314  阅读(119)  评论(0编辑  收藏  举报