javascript - 如何在函数中传递参数并在调用函数时将该参数定义为变量?
问题描述
我有一个网站,人们可以在那里进行研讨会。
如果有人创建了一个研讨会并想要编辑内容,他们点击一个按钮。
如果单击该按钮,JS 将检查数据库中是否有该用户和研讨会的数据。如果是这种情况,将打开研讨会编辑器页面。
取决于该研讨会的数据库中有多少数据,需要显示某些 div(显示:块;)。
在 JS 中有一个 if 语句。所以:
if(stepOneTitle != "")
当 if 语句为真时,单击按钮 (button.click()) 并显示 div 并填充数据库中的数据,以便用户编辑数据。
所以一种情况的代码是:
if(stepOneTitle != ""){
const buttonStepOne = document.getElementById("button-step-one")
buttonStepOne.click()
}
我不想为所有 eitgh div 复制和粘贴此代码,所以我尝试将其变成一个可以调用所有八个 div 的函数:
function loadSteps(a,b,c){
if(a != ""){
b = document.getElementById(c)
c.click()
};
};
loadSteps(stepOneTitle, const buttonStepOne, "button-step-one" )
loadSteps(stepTwoTitle, const buttonStepTwo, "button-step-two" )
ETC..
问题是我无法使用 'cont buttonStepOne' 调用该函数,因为我收到一个语法错误,说“const”是一个意外标记。
我努力了:
function loadSteps(a,b,c){
if(a != ""){
const b = document.getElementById(c)
c.click()
};
};
loadSteps(stepOneTitle, buttonStepOne, "button-step-one" )
控制台给我一个错误,说 const b 已经声明,所以我假设当我调用函数时 b 被绑定到 const 而不是 buttonStepOne 。
我在 Reddit 上问过,但我得到了解决方法,但没有直接的解决方案。
他们是这个问题的直接解决方案吗?
解决方案
您不会将变量传递给函数,而只是传递值。调用者无需指定变量名,您可以在函数中使用局部变量。
function loadSteps(title, buttonId) {
if (title != "") {
let button = document.getElementById(buttonId)
if (button) {
button.click();
}
};
};
loadSteps(stepOneTitle, "button-step-one")
loadSteps(stepTwoTitle, "button-step-two")
推荐阅读
- ruby-on-rails - MS Edge 将下载重命名为“true.txt”、“true.jpg”等
- ios - iOS 14 中的 UISplitViewController 在横向模式下按预期工作,但在纵向模式下不正常
- hibernate-search - 嵌入式复合主键上的休眠搜索
- excel - 如何在最后一个下划线之后提取Excel中字符串的最后一部分
- excel - VBA PrintOut PrintToFile 不工作(两个月前工作)
- python - 如何在python的for循环中声明多个项目
- angular - Angular 9 变量未在视图中更新
- javascript - Vue中Laravel中Json的格式日期
- c++ - 在 C++ 中使用向量时,当其他东西替换向量时会发生什么?
- pandas - Pandas:如何将多列值与另一个数据框匹配并生成输出