首页 > 解决方案 > 如何使用javascript将参数传递给方法?

问题描述

我想将参数传递给名为 checkMessages 的方法。checkMessages 方法在两个地方被调用,一个用 1 个参数调用它,另一个用 2 个参数调用它。

下面是代码,

const checkMessages = (messages, isActive) => {
    cy.logout();
    changeUser(someuser);

    if (isActive) {
        cy.getByTestId('toggle').click();
        messages.forEach(message =>
            cy.get('textarea[id="description"]').type(message)
        );
    }

    messages.forEach(message =>
        cy.getTableRow('Description', message)
    );
}

checkMessages([
    `some message ${item1.name}were added`,
    `some message ${item2.name} were added`,
]); // one method call with one argument

checkMessages([
    `some message ${item1.name}were added`,
], isActive=true); // second method call with two arguments
//error with this function call

现在的问题是当使用 2 个参数调用 checkMessages 方法时,它会抛出错误“isActive is not defined”

我如何将此参数传递给 checkMessages 方法。函数调用应该如何使用这个参数。

有人可以帮我解决这个问题。谢谢。

标签: javascript

解决方案


在您的示例中,您正在传递 isActive = true 。checkMessagesisActive is 属性未在调用范围内定义,因此在调用函数时会引发错误。

您可以通过传递布尔值 true 来调用函数来修复它。

checkMessages([
 `some message ${item1.name}were added`,
], true);

推荐阅读