[英]structure of object oriented js
我是面向对象 js 的新手。 在我的工作中,我必须编辑一些其他人以前完成的代码。 因为我是这个领域的新手,无法理解一些结构和符号。 波纹管我无法处理的结构,
(function ($) {
AjaxSolr.GenericGraphWidget = AjaxSolr.AbstractFacetWidget.extend({
_functionName:function(){
}
})(jQuery);
现在这里AjaxSolr
是一个在另一个文件中定义的基类。 AbstractFacetWidget
也是一个类,它也是从AjaxSolr
扩展而来的。 现在有人可以解释一下,这是一种什么样的结构?(是的,我只明白这是一种类,就像其他 oop 语言一样,是从另一个类扩展而来的)。 什么(function ($)
是什么意思?
直到现在我才知道要创建对象和继承,我必须像以下那样做-
var Constructor = function(name) {
this.name = name
};
Constructor.prototype.mymethod = function() {
alert("my name is : " + this.name);
};
var obj = new Constructor("foo");
obj.mymethod();
可能他们使用了我不知道的另一种格式。 如果,我想从该类的外部调用该类的函数,我该怎么做? 如果我的问题没有解释清楚,请问我。
通常, .extend({...})
意思是“获取他们的原型并合并提供的对象”。 所以extend
创建了一个新对象并设置为AjaxSolr.GenericGraphWidget
。 这样,您可以执行类似于其他 OOP 语言中常见的继承的操作。
我猜你删除了一些部分,所以我希望以下内容适用于你的具体例子: (function ($) { ... })(jQuery);
是一种编写立即调用的函数表达式的方法:它创建一个匿名函数( function ($) { ... have $ available here ... }
)并使用一些参数(在本例中为jQuery
)直接调用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.