如果不存在,我如何使Javascript参数默认为某些东西

How can I make Javascript parameters default to something if not present?

本文关键字:默认 参数 Javascript 不存在 如果不 何使 如果      更新时间:2023-09-26

我有这个函数:

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);
    });
}

是否有一种方法,我可以这样做,如果函数调用没有最后两个参数,那么这些参数都将默认为真?

将参数与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);
        });
    }

如果我明白你想要什么

试着说在函数的开始。

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