以下是来自视差Jquery插件的以下代码片段:
function Plugin( element, options ) {
this.element = element;
this.$element = $(this.element);
this.options = $.extend( {}, defaults, options) ;
this._defaults = defaults;
this._name = pluginName;
this.init();
}
该插件可以在github上找到:git link
现在有2个令人困惑的行:
this.element = element;
this.$element = $(this.element);
我的理解是:传递给函数Plugin的值存储在第一行的this.element中,现在为什么在第二行中作者添加另一个变量this。$ element并传递$(this.element)的值对它。?目的是什么?
在问一位高级同事时,我得到了以下答案: this.element = element正在设置“ this”所指对象的element属性。它将其设置为变量元素保留的值。
this。$ element = $(this.element)设置同一对象的$ element属性的值。在这种情况下,将其设置为jQuery对象。
但是我仍然不明白这两行代码在做什么。
另外,那些代码行IE不能:
this.element = element;
this.$element = $(this.element);
改写为:
this.$element = element; ??
我尝试这样做,插件无法工作。
谢谢你。
特纳利。
function Plugin( element, options )
是最有可能的javascript构造函数,其用法如下:
var plugin = new Plugin(myDiv, options);
this
然后将引用创建的新对象。(plugin
我示例中的对象)
在这种情况下:element
将是对传递给Plugin
构造函数的任何DOM元素的引用,并且$(element)
将是此dom元素的jQuery选择器,在该选择器上可以调用jQuery函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句