2012-04-06 31 views
6

tôi cần phải gọi một hàm trong thời trang sau đây:Sử dụng chuỗi JavaScript làm tên hàm?

var f = 'fadeOut'; 
$(v).f(s, function(){ 
    $(v).css('visibility', 'hidden').css('position', 'absolute'); 
}); 

Đây có phải là có thể làm đơn giản?

+0

hãy có một cái nhìn tại liên kết sau http://stackoverflow.com/questions/3619046/javascript-variable-function-name. Nó không phải là chính xác câu hỏi, nhưng tôi cảm thấy nó có thể hữu ích. –

+0

có thể trùng lặp của [Làm cách nào để gọi tên hàm JavaScript bằng chuỗi?] (Http://stackoverflow.com/questions/496961/how-do-i-call-a-javascript-function-name-using-a -string), Gọi một hàm bằng JavaScript theo tên của nó? , v.v. –

Trả lời

9

var f = 'fadeOut'; 
$(v)[f](s, function(){ 
    $(v).css('visibility', 'hidden').css('position', 'absolute'); 
}); 
+2

cảm ơn !! trang web này chỉ không bao giờ hết ngạc nhiên cho tôi – nick

+0

Bất kỳ tài sản của một đối tượng có thể được truy cập với dấu chấm-cú pháp hoặc dấu ngoặc vuông. Cách thứ hai là cách duy nhất để sử dụng nếu thuộc tính chứa dấu cách hoặc các ký tự không được phép –

+0

@BorisShemigon Bạn đúng, tuy nhiên bạn không thể truy cập thuộc tính có cú pháp dấu chấm qua biến chuỗi, trong trường hợp đó bạn phải sử dụng dấu ngoặc hoặc sử dụng 'eval' mà tôi không đề nghị. –

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