我是JavaScript的新手,有两个不同的函数要合并(合并):如何将这2个函数合并成1个函数?
职能1:
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}和职能2:
function myFunction(x) {
x.classList.toggle("change");
}有人能在这件事上帮我吗?
真的很感谢你的帮助。
发布于 2022-09-29 10:33:41
很难确切地知道为什么不能像编写函数那样组合这些函数。但我有个主意:
function myFunction(element) {
const x = element || document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
x.classList.toggle("change");
}这利用了逻辑OR。如果element参数未被定义,那么它的引用将被赋值给x,如果element参数未定义,则x将被指定为document.getElementById("myTopnav")的计算值。
我建议您养成使用const或let而不是var的习惯。
发布于 2022-09-29 10:30:56
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}
// you must change the name of my funtion because you already use it
function myFunction2(x) {
x.classList.toggle("change");
}
// then pass the parameter to function 2
$.extend(myFunction, myFunction2("test"));
https://stackoverflow.com/questions/73893753
复制相似问题