1

我正在处理一些我没有编写的旧代码,需要一些帮助来理解它。

(function() {
  var abc = "SORocks";
  $.fn[abc] = function (x) {
    doSomethingCool();
};

})(jQuery)

代码中的其他地方是 ("#mydiv").SORocks(1234); 之类的语句。

[abc] 是做什么的?和 $.fn.SORocks(x) 一样吗?

4

2 回答 2

3

它是一个 jQuery 插件的声明,它相当于:

$.fn.SORocks = function (x) { }

你可以像这样调用插件并弄清楚它的作用:

$('div').SORocks('hello');
于 2013-01-26T22:24:15.240 回答
2

它只是对象表示法。jQuery 和 jQuery.fn 是对象。

var abc = "SORocks";
$.fn[abc] = function (x) {...

和写法一样:

$.fn.SORocks = function (x) {...

show()对于其他类似或以下的jQuery 方法hide(),与传统的点表示法一样有效:

  $('#myDiv')['hide']();
于 2013-01-26T22:22:24.690 回答