我有一个场景,其中函数只获得一个参数,可以是object
或null
。由于object和null都具有object
的类型。我怎样才能使用if语句来区分它们?如果我使用typeof
,那么object和null都将返回object。
更新
function func (par) {
if (par === null) {
console.log(null);
}
if (typeof par === "object") {
console.log(object);
}
}
func({key1: 'val1', key2: 'val2'});
func(null);
答案 0 :(得分:6)
您可以检查参数是否为null:
更新(每次更改问题定义)
if(arg === null)
function func (par) {
if (par === null) {
console.log(null);
} else if(typeof par === "object") {
console.log(par);
} else {
console.log("Unexpected parameter");
}
}
func({width: '1px', color: 'orange'});
func(null);
答案 1 :(得分:1)
如果您需要知道对象类型是null
或 ,那么只需将第二个if
设为else if
function func (par) {
if (par === null) {
console.log(null);
} else if (typeof par === "object") {
console.log(object);
}
}
func({key1: 'val1', key2: 'val2'});
func(null);