2010-07-13 28 views

Trả lời

13

bạn có thể thực hiện một chức năng trong bối cảnh của một đối tượng sử dụng call:

fn.call(obj, 'param') 

Ngoài ra còn có apply

Chỉ khác biệt là cú pháp cho các đối số cho ăn.

+0

cảm ơn! làm việc hoàn hảo! – Kyle

2

Bạn có thể sử dụng apply() hoặc call().

Hoặc cho phép bạn thực hiện một chức năng với lựa chọn của bạn về những gì this nằm bên trong hàm. Apply lấy các đối số cho hàm như một mảng, trong khi call cho phép bạn chỉ định chúng riêng lẻ.

2
funct.call(objThatWillBeThis, arg1, ..., argN); 

hoặc

funct.apply(objThatWillBeThis, arrayOfArgs); 
2

Bạn có thể sử dụng một trong hai .call() hoặc .apply(). Tùy thuộc vào yêu cầu của bạn. Here là một bài viết về chúng.

Về cơ bản bạn muốn:

function(fn){ 
    //do some stuff 
    fn.call(whateverToSetThisTo); //call fn, 

} 
Các vấn đề liên quan