如果不存在,如何使 Javascript 参数默认为某个值? [复制]
Posted
技术标签:
【中文标题】如果不存在,如何使 Javascript 参数默认为某个值? [复制]【英文标题】:How can I make Javascript parameters default to something if not present? [duplicate] 【发布时间】:2014-09-02 20:11:17 【问题描述】:我有这个功能:
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?
【问题讨论】:
【参考方案1】:如果我明白你想要什么。
试着在函数的开始说。
expectedPresent = (expectedPresent==undefined) ? true : expectedPresent;
expectedEnabled = (expectedEnabled==undefined) ? true : expectedEnabled;
我希望这会有所帮助。
【讨论】:
那行不通。完全没有。 这种方式不可能将expectedPresent
传递为false
。
使用===
而不是==
。
@Barmar 不好意思问了,但这有什么帮助?
没关系,我错了。【参考方案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);
);
【讨论】:
以上是关于如果不存在,如何使 Javascript 参数默认为某个值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Javascript:检查变量是不是为假或根本不存在[重复]
javascript 在'require'之前检查路径是否存在。如果不存在,则回退到默认路径
JavaScript通过preventDefault()使input[type=text]禁止输入但保留光标