如何使用jQuery插件参数变量

How to use a jQuery Plugin Parameter Variable

本文关键字:参数 变量 插件 jQuery 何使用      更新时间:2023-09-26

我正在尝试构建一个相当基本的jQuery插件(主要是出于学习原因),直到我添加了limit方法,我才遇到错误,这似乎很直接,但我在控制台中遇到了以下错误

未捕获引用错误:未定义限制

它适用于下面的第二个if方法(用注释标记)

$.fn.query = function(params) {
    // Parameters //
    var options = $.extend({
        'shuffle' : false,
          'limit' : undefined
    }, params),
        output = this;
    // Shuffle //
    if (shuffle) {
        output = shuffle(this);
    }
    // Limit // !!!ERROR!!! //
    if (limit !== undefined) {
        output = output.slice(0, limit);
    }
    return output;
};

然后运行插件

var query = $(example).query({
    shuffle: true,
    limit: 5
});

我试着遵循所有的最佳实践,但如果你发现任何奇怪的地方,请告诉我。

这是一个包含所有代码的jsFiddle,您可以在控制台中看到错误。

http://jsfiddle.net/JamesKyle/CfXhw/

在极限前添加options.

options.limit

http://jsfiddle.net/JamesKyle/UWDsz/

您正在创建一个对象,因此为了访问它,您使用由句点object.variable 分割的对象和变量名

已更正jQuery代码:

$.fn.query = function(params) {
    // Parameters //
    var options = $.extend({
        'shuffle' : false,
          'limit' : undefined
    }, params),
        output = this;
    // Shuffle //
    if (options.shuffle) {
        output = shuffle(this);
    }
    // Limit // !!!ERROR!!! //
    if (options.limit !== undefined) {
        output = output.slice(0, options.limit);
    }
    return output;
};