2011-08-12 8 views

답변

8

아마도 체인화 이후 무엇입니까? 메서드는 실행중인 객체를 this에 반환 할 수 있으므로 다른 메서드를 호출 할 수 있습니다.

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

당신이 JS를 처음 사용했다 이후 설명에 대한 빠른 주석, 이것은 당신이하는 JS의 기능이 아닙니다 :

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

JQuery와 같은 일을 수 있도록하기 위해, 어떻게 작동하는지 정확히 당신이 호출 할 수있는 다른 방법을 가지고있는 객체를 반환함으로써 다른 프로그래밍 언어에서 이것을 얻을 수 있습니다. –

+0

예. 사실, 위키 백과에는 C#, C++, Java 및 PHP의 예제가 있습니다. http://en.wikipedia.org/wiki/Method_chaining –

0

그럼 bar와 bad의 두 가지 방법으로 객체 foo가 있다고 가정 해 봅시다. bar의 구현은 다음과 같습니다 : function bar() {/ * do work */return; } 이렇게하면 foo 자체가 반환되므로 foo에 정의되어 있으므로 baz를 호출 할 수 있습니다.

관련 문제