2011-08-12 98 views

回答

8

你可能以後稱爲鏈接。一個方法可以返回它在this上運行的對象,這樣可以調用另一個方法。

var foo = { 
    bar: function() { 
    doStuff(); 
    return this; 
    }, 

    baz: function() { 
    doOtherStuff(); 
    return this; 
    } 
}; 

foo.bar().baz(); 

這正是jQuery的運行,爲了讓事情,如:

$('#foo') 
    .html('<p>hi</p>') 
    .addClass('selected') 
    .css('font-size', '24px') 
    .show(); 
+0

澄清,因爲你說,你是新的JS一個快速評論,這不是一個JS功能,可以通過返回一個可以調用其他方法的對象在不同的​​編程語言中實現此功能。 –

+0

是的。事實上,維基百科在C#,C++,Java和PHP中都有例子。 http://en.wikipedia.org/wiki/Method_chaining –

0

所以我們假設你有一個對象foo有兩個方法:bar和bad。 bar的實現就像這樣:function bar(){/ * do work */return this; }返回foo本身,所以你可以調用baz,因爲它是在foo中定義的。