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

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

本问题已经有最佳答案,请猛点这里访问。

我有这个功能:

1
2
3
4
5
6
7
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进行比较,以了解它们是否存在:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
    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
2
expectedPresent = (expectedPresent==undefined) ? true : expectedPresent;
expectedEnabled = (expectedEnabled==undefined) ? true : expectedEnabled;

我希望这有帮助。