在类似jQuery的Javascript对象中启用链接能力

在类似jQuery的Javascript对象中启用链接能力,javascript,Javascript,我有一个关于可链接性的问题,请看以下代码: document.getElementById('menu').fadeIn(200, function(){ //callback }); 没有jQuery我怎么能做到这一点 注意:例如,名称fadeIn()和fadeOut()没有jQuery函数 “方法链接是调用多个方法的常用技术 在面向对象编程语言中调用。每个方法都返回一个 对象(可能是当前对象本身),允许调用 在单个语句中链接在一起。方法链也是 被称为火车失事是由于越来越多的方法堆积 一行接

我有一个关于可链接性的问题,请看以下代码:

document.getElementById('menu').fadeIn(200, function(){ //callback });
没有jQuery我怎么能做到这一点

注意:例如,名称fadeIn()和fadeOut()没有jQuery函数

“方法链接是调用多个方法的常用技术 在面向对象编程语言中调用。每个方法都返回一个 对象(可能是当前对象本身),允许调用 在单个语句中链接在一起。方法链也是 被称为火车失事是由于越来越多的方法堆积 一行接一行。”

资料来源:


要允许链接性,您的方法必须返回包含的对象(有时还提供回调机制来管理一些返回数据):


您必须实现自己的(简化或扩展的)机制,就像jQuery那样。另一种方法是使用DOM扩展,比如原型库。我不想创建对象。我想为document.getElementById创建一个新方法。我在这里读过类似的内容,但我无法将该方法“附加”到对象。感谢您的回复。我了解回拨管理
//Create an object which contains functions
var obj={
        alert : function(txt){
                alert(txt);
                return this   //return itself
        },
        confirm :function(txt){
                confirm(txt);
                return this   //return itself
        }
}

//Now you can chain as much as you want
obj.alert("This").alert("is").confirm("called").alert("chaining.");
var chainable ={
        doSomething : function(input, callback){
          //do something with the input
          var output = input;
          if (callback && typeof(callback) === "function") {
              callback(output);
          }
          return this;
        }
}

    chainable.doSomething('test', function(data) {
      alert(data);
    })
    .doSomething('anotherString');