如果不存在,如何将Javascript参数默认为某些内容?

时间:2014-07-12 07:17:27

标签: javascript

我有这个功能:

this.checkButton = function (buttonName, element, expectedPresent, expectedEnabled) {
    var enabledCheck = expectedEnabled ? "enabled" : "disabled";
    it('Find a ' + buttonName + ' button and check it is ' + enabledCheck, function () {
        expect(element.isPresent()).toBe(expectedPresent);
        expect(element.isEnabled()).toBe(expectedEnabled);
    });
}

有没有办法可以做到这一点,如果在没有最后两个参数的情况下调用该函数,那么这些参数都默认为true?

2 个答案:

答案 0 :(得分:2)

将参数与undefined进行比较,以了解它们是否存在:

    this.checkButton = function (buttonName, element, expectedPresent, expectedEnabled) {

        if(expectedPresent === undefined) {
            expectedPresent = true;
        }
        if(expectedEnabled === undefined) {
            expectedEnabled = true;
        }
        var enabledCheck = expectedEnabled ? "enabled" : "disabled";
        it('Find a ' + buttonName + ' button and check it is ' + enabledCheck, function () {
            expect(element.isPresent()).toBe(expectedPresent);
            expect(element.isEnabled()).toBe(expectedEnabled);
        });
    }

答案 1 :(得分:0)

如果我理解你想要的东西。

尝试在开始功能时说。

expectedPresent = (expectedPresent==undefined) ? true : expectedPresent;
expectedEnabled = (expectedEnabled==undefined) ? true : expectedEnabled;

我希望这会有所帮助。