我在Google上进行了搜索,并阅读了许多有关js模式的文章,但感到困惑。我在stackoverflow上搜索,仍然感到困惑。所以,我想,我必须在这里问。 (我仍然是JavaScript的新手)

我想“创建模块,单例或某种模式,然后同时滚动/调用多个方法”。

范例:Yourlib.getId('elmID').setColor('somecolor').setHtml('somehtml').show().blaa.blaa.blaa

如何创建基本模式?

var Yourlib = (function() {
    var anyPrivateVar = blablabla;
    anyFunctions(){
        any stuff...
    }

    return {
        setHtml: blablabla,
        method2: function() {
            anything...
        }
        getId: function() {
            anything...
        },
        setColor: function() {
            anything...
        },
        show: function() {
            anything...
        }
    }
}())


如何创建模式,以便我可以同时调用/滚动该方法?
Yourlib.getId('elmID').setColor('somecolor').setHtml('somehtml').show().blaa.blaa.blaa

最佳答案

我认为您正在要求链接方法。这是一个简单的例子。关键是return对象返回。

var obj = {
    method1: function() { alert('first');   return obj; },
    method2: function() { alert('second');  return obj; },
    method3: function() { alert('third');   return obj; },
    method4: function() { alert('fourth');  return obj; }
}

obj.method1().method2().method3().method4();


Live Demo

09-09 21:21