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