如何实现JavaScript Cascades ..?

6 javascript

我正在阅读"JavaScript the Good Parts",它提到级联作为一种在JavaScript中进行方法链接的方法,但我找不到任何解释如何实现这些方法的代码.

getElement('myBoxDiv').
move(350, 150).
width(100).
height(100).
color('red').
border('10px outset').
padding('4px').
appendText("Please stand by").
on('mousedown', function (m) {
    this.startDrag(m, this.getNinth(m));
}).
on('mousemove', 'drag').
on('mouseup', 'stopDrag').
later(2000, function (  ) {
    this.
        color('yellow').
        setHTML("What hath God wraught?").
        slide(400, 40, 200, 200);
}).
tip('This box is resizeable');
Run Code Online (Sandbox Code Playgroud)

Ant*_*ony 5

诀窍是方法本身应该只返回this.这样,每次将这些方法链接在一起时,对象本身就是调用的基础.

SomeObj.width(40)然后只返回SomeObj,因此添加调用.height(50)将起作用,并继续.