繁体   English   中英

面向对象js的结构

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM