Q:js语句结束不加分号会怎么样
A:JavaScript并不强制要求在每个语句的结尾加;
,浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;但
让JavaScript引擎自动加分号在某些情况下会改变程序的语义,导致运行结果与期望不一致。
Q:NAN与Infinity有什么区别
A:NaN表示Not a Number,当无法计算结果时用NaN表示;比如 0 / 0;Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity;比如 2 / 0;(补充NAN:
NaN
这个特殊的Number与所有其他值都不相等,包括它自己:
NaN === NaN; // false
唯一能判断NaN
的方法是通过isNaN()
函数:
isNaN(NaN); // true
)
Q:null和undefine到底有什么区别
A:首先明白定义,null 表示一个“空”的值,它和0
以及空字符串''
不同,0
是一个数值,''
表示长度为0的字符串,而null
表示“空”;undefine 表示未定义;其次什么时候应该用null,什么时候应该用undefine,廖雪峰表示 --
JavaScript的设计者希望用null
表示一个空的值,而undefined
表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用null
。undefined
仅仅在判断函数参数是否传递的情况下有用。