javascript
中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据。
松散类型并不代表它就没有类型。javascript
是有类型的,只是让我们在赋值的时候不用管这个变量与要赋值的东西是否匹配, 无论要赋值的这个东西是什么类型的,它都可以赋值给任意的变量。
有时候,我们需要判断某个变量到底是什么类型的,根据类型不同,分别做不同的事情。
查看某个量
或者某个表达式
的运算结果是什么类型,就要使用typeof
操作符。
typeof (量)
typeof 量
括号是可以省略的。
typeof
操作符的计算结果是字符串
,如下表:
结果 | 说明 | 示例 |
---|---|---|
undefined | 变量未定义类型 |
|
boolean | 开关类型 |
|
number | 数值类型 |
|
string | 字符串类型 |
|
object | 对象类型 |
|
function | 函数类型 |
|
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');
}