gpt4 book ai didi

javascript - 有没有办法用动态名称处理javascript函数?

转载 作者:行者123 更新时间:2023-12-04 09:42:49 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Call nested function with dynamic name

(2 个回答)



Javascript Dynamic Function Call with Name

(3 个回答)


去年关闭。




我想像这段代码一样以动态方式在我的 javascript 代码中使用函数。

const function1 = (param) => {
return "AA" + param
}
const function2 = (param) => {
return "BB" + param
}
const function3 = (param) => {
return "CC" + param
}

for (let i=1; i < 4; i++) {
// call function1, 2, 3 with i
}


我在 python 中看到了一个类似的案例。

note1 = "note1"
note2 = "note2"
note3 = "note3"

for i in range(1, 4):
print(vars()[f"note{i}"])

像这个python案例,有没有办法用动态名称处理javascript变量或函数?

最佳答案

你可以这样做:

在任何函数之外创建的任何函数,在非严格模式下,都会进入默认值 this ( window )。所以你可以通过 window[ propertyName ] 访问它.但是,污染窗口对象是一种不好的做法。因此更好的选择是将这些函数包装在一个自定义对象中,然后使用相同的语法来访问函数。

const function1 = (param) => {
return "AA" + param
}
const function2 = (param) => {
return "BB" + param
}
const function3 = (param) => {
return "CC" + param
}


for (let i=1; i < 4; i++) {
window[`function${i}`](i);
}

引用:
  • Is setting properties on the Window object considered bad practice?
  • 关于javascript - 有没有办法用动态名称处理javascript函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62255779/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com