javascript在同一个对象上的多个命令

时间:2014-07-31 09:46:35

标签: javascript

我想写这样的东西:

object
.method1("blah");
.method2("blah");
.method3("blah");

object
.method1("data1");
.method1("data2");
.method1("data3");

而不是:

object.method1("data1");
object.method1("data2");
object.method1("data3");

有可能吗?感谢

2 个答案:

答案 0 :(得分:2)

链接是可能的,但只能作为单个声明,额外的分号必须

object
.method1("data1")
.method1("data2")
.method1("data3")

您还需要method1()来返回对象的实例

function method1(stuff) {
    // do something with stuff
    return this;
}

这是一个在jQuery和Dojo等框架中的DOM操作API中出现的习惯用法。

答案 1 :(得分:0)

我想你想要像bellow那样的东西

var obj = {};
obj.method1 = function (param) {
    console.log(param);
    return this;
}

obj.method2 = function (param) {
    console.log(param);
    return this;
};

obj.method3 = function (param) {
    console.log(param);
    return this;
};

obj.method1("First").method2("Second").method3("Third")