js总结1

 

 

NaN是一个特殊的数量值,不表示一个数字,尽管下面的代码仍然是返回类型为numberjavascript

console.log(typeof NaN);//number
console.log(typeof NaN==='number');//truejava

可见typeof不能真正区分数字与NaN的区别。函数

为了进一步区分NaN与数字,能够使用isFinite函数,若是有限数值,该函数将返回true,若是是NaN、正负无穷大的数值,则返回false。对象

关于NaN的运算规则:ip

若是NaN是数学运算中的一个运算数,那么它与其余运算数的运算结果就会是NaN原型链

NaN===NaN;//false;(我本身就理解成虽然不是number,但不是number的有好多,也必定不会都相等)原型

NaN!==NaN;//true;数学

undefined的值在以下状况下出现:it

  • 从一个对象中获取某个属性,若是该对象及其原型链中的对象都没有该属性,该属性的值为undefined。
  • 一个函数没有显示经过return语句将返回值范湖给其调用者,其返回值就是undefined,但在使用new调用函数时例外。
  • javascript的函数能够是用声明任意多个形参,当该函数实际被调用时,传入的参数的个数若是小于声明的形式参数的个数,那么多余的形式参数的值就是undefined
相关文章
相关标签/搜索