我想這樣做:動態調用jQuery函數
var todo = "text";
$this.eval(todo).split(/\b[\s,\.-:;]*/).length;
所以,這將是導致功能:
$this.text().split(/\b[\s,\.-:;]*/).length;
我不出來...我該怎麼辦這個?
我想這樣做:動態調用jQuery函數
var todo = "text";
$this.eval(todo).split(/\b[\s,\.-:;]*/).length;
所以,這將是導致功能:
$this.text().split(/\b[\s,\.-:;]*/).length;
我不出來...我該怎麼辦這個?
如果您必須擁有完全動態的,那麼您可以簡單地把它放在一個字符串中,只是eval()它。事情是這樣的:
var obj_name = "text";
var eval_code = "$this."+ obj_name + "(todo).split(/\\b[\\s,\\.-:;]*/).length;";
var result = eval(eval_code);
此外,不命名您的變量EVAL以避免與eval函數衝突。
希望有幫助!
'eval'在這裏沒有必要。 –
我完全同意。然而,原始的海報正在詢問如何使用變量作爲一行代碼的一部分。這就是爲什麼我說「如果你必須充分發揮它的活力」。這不是正確的甚至是好的解決方案,但它解決了將變量嵌入代碼塊的問題。但是,是的,應該澄清,這甚至不是一個有效的解決方案。 –
可能重複[如何在Javascript中調用動態命名的方法?](http://stackoverflow.com/questions/969743/how-do-i-call-a-dynamically-named-method-in -javascript)和[others](http://stackoverflow.com/search?q=javascript+call+methods+dynamically) –
爲什麼你需要像這樣動態調用它? –