gpt4 book ai didi

javascript - 将参数传递给模块模式函数时未定义

转载 作者:行者123 更新时间:2023-12-03 10:52:17 27 4
gpt4 key购买 nike

$("#foo").on("click", function() {
amountItems.speek('heey')
})

var amountItems = (function(el) {
// var el = el;
return {
speek: function() {
alert(el)
}
}
}())

这是我第一次尝试使用模块模式。基本上,当 foo 被单击时,我希望调用 amountItems 函数内的 speek 方法,并且我想将字符串“heey”传递给该方法,以便在单击 foo 时它应该提醒“heey”。最初我想传递类似 $("#foo").text() 的东西,但无论哪种方式我都会得到“未定义”。

你能告诉我当 jQuery 对象传递到这种类型的函数时如何使用它吗?

最佳答案

您只是将 el 参数放在了错误的位置。这有效:

$("#foo").on("click", function() {
amountItems.speek('heey')
})

var amountItems = (function() {
return {
speek: function(el) {
alert(el);
}
}
}())

--编辑--

以防万一您想知道整个作用域/私有(private)变量是如何工作的:

$("#foo").on("click", function() {
amountItems.load('heey');
amountItems.speek();
})

var amountItems = (function() {
var el = ""

return {
load: function(str) {
el = str;
},
speek: function() {
alert(el);
}
}
}())

关于javascript - 将参数传递给模块模式函数时未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28391026/

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