Javascript:接受参数的函数的原型

时间:2014-01-21 18:08:17

标签: javascript

我无法在Javascript中实现某些功能,并且无法解释它。我正在编写API,我希望开发人员能够编写以下代码: dashboard('name1').createPanel('name2');

问题是我无法找到一种方法来创建一个名为“dashboard”的函数(它接受一个参数'name1'),同时还提供一个名为createPanel的原型。

1 个答案:

答案 0 :(得分:2)

你有功能和对象。一个例子:

 // 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对象)。但可以是你想要的每一个对象。