Q
變量中的函數名稱
2
A
回答
6
因爲你的函數在一個onload處理加入,使他們是本地的gloabl範圍內不可用的方法。
在左側面板的第二個下拉列表中選擇no-wrap header/body,然後將您的jQuery處理程序添加到dom ready處理程序中。
function one() {
alert('one called');
}
function two() {
alert('two called');
}
function three() {
alert('three called');
}
jQuery(function() {
jQuery("button").bind("click", function() {
var funcName = "one";
window[funcName]();
//alert('here');
});
})
演示:Fiddle
的jsfiddle增加在window.onload = function(){}
處理器默認腳本,所以任何函數/變量聲明會有局部的功能範圍,並不會在全球範圍內提供(窗口)
2
這句法(從你的例子提琴使用的代碼)的作品就好了。在這裏我明確地將該函數添加到窗口對象。
有很多關於爲什麼這項工程On This Question和Arun P Johny的答案給出了一個體面的解釋信息,但基本上歸結爲表達一個函數和聲明一個函數。
window.one = function() {
alert('one called');
}
0
您在設定功能方面存在問題。你可以這樣來做:
我改變你的代碼:
window.one = function(){
alert('one called');
}
window.two = function() {
alert('two called');
}
window.three = function() {
alert('three called');
}
jQuery("button").on("click", function() {
var funcName = window.prompt("What function to fire?","");
window[funcName]();
});
和固定的小提琴:
相關問題
- 1. 變量函數名稱
- 2. JavaScript變量鏈中的函數名稱
- 3. 變量中的Javascript函數名稱
- 4. PHP:函數名稱中的變量
- 5. 函數參數名稱和類變量名稱的區別
- 6. 函數參數名稱和C中堆棧幀的變量名?
- 7. 使用變量縮短函數名稱
- 8. 從變量名稱加載JavaScript函數
- 9. 調用函數變量/名稱信息
- 10. 調用javascript函數名稱在變量
- 11. 變量表名稱MySQL存儲函數
- 12. 在腳本塊中傳遞函數名稱作爲變量(函數:$變量)
- 13. Emacs Lisp - 聲明具有變量/變量名稱的函數
- 14. 標量值函數中列名稱的變量
- 15. 將數據幀名稱分配給函數中的變量
- 16. 爲什麼局部變量名稱優先於JavaScript中的函數名稱?
- 17. 如何在ColdFusion中將變量名稱作爲函數名稱的一部分?
- 18. 函數變量和函數變量名稱相同。如何訪問?
- 19. 在bash中傳遞給函數的變量的名稱
- 20. 當函數名稱變化
- 21. AS2中的變量名稱#
- 22. 具有匹配變量名稱的命名函數表達式
- 23. 使用函數在類中設置變量的名稱?
- 24. 將按鈕名稱傳遞給函數中的變量
- 25. 使用VBA中的變量名稱調用函數
- 26. 函數名稱中的連接變量 - javascript
- 27. 動態指定函數中的變量名稱
- 28. 調用存儲在字符串變量中的函數名稱?
- 29. 靜態函數中的動態變量名稱
- 30. 使用函數來寫下Arduino中的變量名稱
如果你要稱呼其爲window'的'屬性,你首先必須使你的函數成爲'window'的屬性。 –
這是你的小提琴的問題。默認情況下,jsfiddle自動將代碼封裝在一個準備好的處理程序中,所以你的函數不在全局範圍內。你可以告訴jsfiddle你不想要你的代碼包裝(在你選擇你想要的jquery的左下角):http://jsfiddle.net/Cwhwx/ –