标签:
var message = ‘some string‘; console.log(typeof message); // ‘string‘ console.log(typeof(message)); // ‘string‘ console.log(typeof 95); // ‘number‘
typeof操作符可能返回的字符串:undefined、boolean、string、number、object、function
注:typeof null 会返回 ‘object‘,因为null被认为是一个空的对象引用。
// 对为初始化和未声明的变量执行typeof操作都会返回undefined var message; console.log(typeof message); // ‘undefined‘ console.log(typeof age); // ‘undefined‘
我们应该尽量显式地初始化变量的值,这样的话当typeof操作返回 ‘undefined‘ 时,我们就知道被检测的变量尚未声明,而非尚未初始化。
如果定义的变量准备在将来用于保存对象,则最好将它初始化为null而非其他值。这样一来只要检查该变量是否等于null值就可以知道它是否已经保存了一个对象的引用。
我们任何时候都没有必要把一个变量显式地赋为undefined,而意在保存对象的变量还没真正保存对象时应该明确被赋为null,这有助于进一步区分undefined和null。
数据类型 | 转换为true的值 | 转换为false的值 |
Boolean | true | false |
String | 任何非空字符串 | "" |
Number | 任何非零数字 | 0和NaN |
Object | 任何对象 | null |
Undefined | 不适用 | undefined |
console.log(NaN == NaN); // false,NaN与任何值都不相等,包括它自身 // isNaN()如果接收到一个非数值,会尝试将这个值转换为数值。 console.log(isNaN(NaN)); // true console.log(isNaN(10)); // false console.log(isNaN(‘10‘)); // false,可以被转换成数值 console.log(isNaN(‘blue‘)); // true,不可以被转换成数值
标签:
原文地址:http://www.cnblogs.com/natsu12/p/4758548.html