typeof操作符
1.0、参考
1.1、typeof操作符的作用

javascript中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据。

松散类型并不代表它就没有类型。javascript是有类型的,只是让我们在赋值的时候不用管这个变量与要赋值的东西是否匹配, 无论要赋值的这个东西是什么类型的,它都可以赋值给任意的变量。

有时候,我们需要判断某个变量到底是什么类型的,根据类型不同,分别做不同的事情。

查看某个或者某个表达式的运算结果是什么类型,就要使用typeof操作符。

1.2、typeof操作符的语法
typeof (量)
typeof 量

括号是可以省略的。

1.3、typeof操作符的计算结果

typeof操作符的计算结果是字符串,如下表:

结果说明示例
undefined变量未定义类型
typeof undefined
typeof x
boolean开关类型
typeof true
typeof false
number数值类型
typeof 10
typeof 10.5
string字符串类型
typeof ""
typeof ''
object对象类型
typeof null
typeof arguments
function函数类型
typeof eval
typeof Object
typeof Number
typeof Boolean
1.4、typeof操作符使用示例
var person = {
    name : "Kent Beck",
    age : 56,
    gender : "male",
    address : {
        country : "美国",
        province : "俄勒冈州"
        city : "科瓦利斯市"
    },
    getAddressStr : {
        return this.address.country + this.address.province + this.address.city;
    }
}

if (typeof person.name === 'string') {
    console.log("typeof person.name === 'string'");
}

if (typeof person.age === 'number') {
    console.log(typeof person.age === 'number');
}

if (typeof person.gender === 'string') {
    console.log(typeof person.gender === 'string');
}

if (typeof person.address === 'object') {
    console.log(typeof person.address === 'object');
}

if (typeof person.getAddressStr === 'function') {
    console.log(typeof person.getAddressStr === 'function');
}