簡體   English   中英

Javascript:接受參數的函數的原型

[英]Javascript: Prototype on a function which accepts an argument

我無法在Javascript中實現某些功能,也無法解釋它。 我正在編寫API,我希望開發人員能夠編寫以下代碼: dashboard('name1').createPanel('name2');

問題是我無法找到一種方法來創建一個名為“dashboard”的函數(它接受一個參數'name1'),同時還提供一個名為createPanel的原型。

你有功能和對象。 一個例子:

 // A normal function
 function dashboard(name) {

 }
 dashboard("name1");

您還可以對此功能進行原型設計,如果您執行了新功能,則必須使用類儀表板的對象。 所以這個例子:

function dashboard( name ) {
    // As class
    this.name = name;
}

dashboard.Prototype.createPanel = function(name) {
    this.name = name;
    return this;  // return the reference
}

var x = new dashboard("name1"); // create object
x.createPanel( "Name2" );

// x.name will be "Name2"

你想要的是鏈接功能。 您需要做的就是返回要從中調用下一個函數的對象。 如果你回到this每次可以在物體像鏈職能時間:

// extending the class with addProperty for chainging example

dashboard.Prototype.addProperty = function(key, value){
    this[key] = value;
    return this; // To enable chaining, return reference
} 
var x = new dashboard("name1");
x.createPanel("Niels").addProperty("A", "B").addProperty("B", "C");

我們可以連續不斷。 您需要做的就是返回要繼續鏈接的引用(通常是this對象)。 但可以是你想要的每一個對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM