2012-04-06 61 views
6

我需要調用下面的時尚功能:使用JavaScript字符串作爲函數名稱?

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

這是可以做到的簡單?

+0

請看看下面的鏈接http://stackoverflow.com/questions/3619046/javascript-variable-function-name。這完全不是同一個問題,但我認爲它可能是有用的。 – 2012-04-06 05:01:05

+0

可能重複[如何使用字符串調用JavaScript函數名稱?](http://stackoverflow.com/questions/496961/how-do-i-call-a-javascript-function-name-using-a -string),通過它的名字在JavaScript中調用一個函數?等 – 2012-04-06 05:27:36

回答

9

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

謝謝!!這個站點永遠不會讓我驚歎 – nick 2012-04-06 05:00:54

+0

對象的任何屬性都可以用點語法或方括號來訪問。如果屬性包含空格或其他禁止的字符,後者是唯一的使用方法 – 2012-04-06 05:07:49

+0

@BorisShemigon你是對的,但是你不能通過字符串變量訪問一個帶有點語法的屬性,在這種情況下,你必須使用括號或者使用'eval'我不建議。 – 2012-04-06 05:09:10