gpt4 book ai didi

javascript - $.plugin.function 和 jquery 中的作用域?

转载 作者:行者123 更新时间:2023-11-28 16:28:45 25 4
gpt4 key购买 nike

我是一个 php 人,现在我正在学习制作我的第一个插件

这是我在做什么

$.plugin.method({ 
test: 'helloworld'
});

$.plugin.method({
test: 'another helloworld'
})

这是我的函数或类?

// class ?
jquery.plugin = function(){
// variables
var test = [];

// function ?
var method = function(params){
test[] = params['test']
}
console.log(test)
}

我在期待什么

test = ['helloworld','another helloworld']

我们可以用 JavaScript 做到这一点吗?我说得对吗?

谢谢!

最佳答案

在您的示例中,您将 plugin 设为函数,但在第一个代码段中,您调用的是 $.plugin.method() 而不是$.plugin().

您必须将 plugin 设为具有 method 属性的 对象:

(function($) {

// variables
var test = [];

$.plugin = {
method: function(params){
test.push(params['test']);
console.log(test)
}
}

}(jQuery));

立即函数确保 test 仅对 $.plugin 本身可见。您无法从外部访问它。如果你想这样做,你必须将其设为 $.plugin 的属性:

$.plugin = {
test: [],
method: function(params){
this.test.push(params['test']);
console.log(test)
}
}
<小时/>

我建议您先阅读JavaScript guide [MDN guide]了解 functions [MDN guide] 的基础知识和 objects [MDN guide] .

关于javascript - $.plugin.function 和 jquery 中的作用域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6937874/

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