JavaScript中的连接函数调用如何工作?

Dav*_*man 1 javascript

我刚看到node.js的crypto-library中的这个代码示例,并想知道如何实现这种"连接"函数调用?

crypto.createHash('sha256').update(password).update(salt).digest('base64');
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 5

一个函数的返回值是一个对象(可能是原始对象,this这里).该对象的属性是另一个功能.

var myObj = {
  foo: function() {
    alert("foo");
    return this;
  },
  bar: function() {
    alert("bar");
    return this;
  }
};

myObj.foo().bar().bar().foo().bar();
Run Code Online (Sandbox Code Playgroud)