【发布时间】:2021-07-17 21:13:18
【问题描述】:
我正在尝试创建一个在调用时使用 push() 或 pop() 方法作为参数的函数。我有一个工作代码,但我注意到我重复了很多次,我知道一个函数将有助于提高我的代码质量,但是,我无法找到一种方法来动态引入 push() 或 pop( ) 方法,因此当我想做类似的事情时,我不必重复相同的代码行。
这是当前的工作代码(这与其他行类似):
pushBtn.addEventListener("click", () => {
if (inputEl.value) {
myEmojis.push(inputEl.value)
inputEl.value = ""
}
render(myEmojis)
})
我创建了一个函数,我会将 push() 参数传递给它,但它没有按预期工作。 这是我尝试创建的函数:
function modifyEmoji(action) {
if (inputEl.value) {
myEmojis.action(inputEl.value)
inputEl.value = ""
}
render(myEmojis)
}
我如何调用函数:
pushBtn.addEventListener("click", () => {
modifyEmoji(push)
})
这会返回:“未捕获的 TypeError:myEmojis.action 不是函数”
提前致谢。
【问题讨论】:
-
试试
myEmojis[action](inputEl.value)和modifyEmoji("push")打电话,但也要考虑这是否是一个好的设计选择...... -
感谢 ggorlen,但您所说的设计选择是什么意思?
-
我的意思是:设计选择。流行的和标准的库是否通常像这样运行,客户端可以指定在内部对象上调用哪个方法?可能不会,因为它(可能)非常混乱和脆弱。
-
哦,我明白你在说什么。我实际上是一个初学者,只是想在我正在观看的教程之外进行探索。不过还是谢谢。
-
是的,确实如此。非常感谢。
标签: javascript function performance methods array-push