function接受一个参数object或null

时间:2014-02-20 20:30:36

标签: javascript jquery

我有一个场景,其中函数只获得一个参数,可以是objectnull。由于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);

2 个答案:

答案 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);

http://codepen.io/Chevex/pen/GbKeg