js中NAN、NULL、undefined的区别
NaN:保留字(表明数据类型不是数字) undefined:对象属性或方法不存在,或声明了变量但从未赋值。 即当你使用了对象未定的属性或者未定义的方法时或当你声明一个变量,但你确从未对其进行赋值,便对 其进行操作(当然赋值除外),会有"undefined"提示null 值指出一个变量中没有包含有效的数据。 产生 null 的原因是:对一个变量显式地赋值为 null。 包含 null 的表达式之间的任何操作。 Boolean 表达式 一个值为 true 或者 false 的表达式。 如果需要,非 Boolean 表达式也可以被转换为 Boolean 值,但是要遵循下列规则:所有的对象都被当作 true。 当且仅当字符串为空时,该字符串被当作 false。 null 和 undefined 被当作 false。 当且仅当数字为零时,该数字被当作 false。 字符串比较 两个字符序列之间的比较。 除非在进行比较操作的函数中指出,所有的字符串比较操作都是二进制的。 在英语中,二进制比较区分大小写;而文本比较则不区分。 数值表达式 数值表达式指的是任何值为数字的表达式。这种表达式的元素可以包括关键字、变量、文字和运算 符的任意组合,只要此组合能够生成一个数字。在特定的情况下,如果可以的话,字符串也可以被 转换为数字。 构造函数 一种 JScript 函数,具有两个特殊的性质:由 new