Javascript 从插件内部的函数访问jquery ui插件变量?

Javascript 从插件内部的函数访问jquery ui插件变量?,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有一个标签插件,我正在重新分解 我每次都会传递一个我构造的对象,因此,我现在有了一个传递值并返回对象的函数。这很好,除了现在我需要访问插件中的一个变量 如果你看看底部,你会看到里面的\u addTag我调用了this.tag,我想在标记数组中存储元素的数量,但是我调用this并没有调用小部件 (function ($) { $.widget("ui.tagit", { // default options options:{}, //

我有一个标签插件,我正在重新分解

我每次都会传递一个我构造的对象,因此,我现在有了一个传递值并返回对象的函数。这很好,除了现在我需要访问插件中的一个变量

如果你看看底部,你会看到里面的
\u addTag
我调用了
this.tag
,我想在
标记数组中存储元素的数量,但是我调用
this
并没有调用小部件

(function ($) {
    $.widget("ui.tagit", {

        // default options
        options:{},

        //initialization function
        _create:function () {

            var self = this;
            this.tagsArray = [];
            ...

            ...
            this._addTag('label', 'value');

            }

        },


        _addTag:function (label, value) {
            ...

            //THIS IS WHERE THE TAG OBJECT IS CREATED
            var tag = new this.tag(label, (value === undefined ? label : value));
            tag.element = $('<li class="tagit-choice"'
                + (value !== undefined ? ' tagValue="' + value + '"' : '')
                + '>' + label + '<a class="tagit-close">x</a></li>');
            ...
        },

        tag: function (label, value, element) {
            var self = this;
            return {
                label:label,
                value:value,
                element:element,
                index: self.tagsArray.length
            }
        }

    });
})(jQuery);

在JavaScript中使用
new
关键字调用函数,并将其上下文(
this
)设置为新创建的对象

标记
函数中的示例中,您希望
将此
设置为您正在使用的小部件对象,但由于使用了
新建
关键字,它将被设置为新创建的对象。因此,它将在
self.tagsArray.length
上失败,因为新创建的对象没有
tagsArray
属性


有关
new
关键字`的更多信息,我建议阅读有关它的MDN文章-。

好的,找到了我的问题,这是使用
new
关键字。所以我的下一个问题是。
新的
关键字有什么区别?
$.widget.tag
__proto__: Object
constructor: function (label, value, element) {
__proto__: Object