在調用函數名稱之前是否可以判斷函數名稱是否存在?javascript:如何判斷函數名稱是否存在?
回答
您對功能的檢查typeof
,例如:
if(typeof this["functionName"] != "undefined") {
alert("uh oh, doesn't exist");
}
如果你需要檢查它是否存在,是一個功能是多餘的肯定:
if(typeof this["functionName"] == "function") {
this["functionName"](); //it exists, call it
}
或者更輕鬆的版本:
if(this["functionName"]) this["functionName"]();
如果名稱不變(例如,我誤解了問題),只要用點符號,就像這樣:
if(this.functionName) this.functionName();
或者當然,這並不一定是this
...無論對象你檢查,請使用,如果它是一個全球性的功能使用window
。
如果'functionName'不是函數呢? – jAndy 2010-11-30 12:04:35
@jAndy - 他想要一個函數來調用這個函數,這個函數可能會或可能不會被定義......你當然可以改變它,並檢查`.toString()`或`typeof`作爲`function`,但我會說你在這些情況下有不好的命名重疊...通常你想要兩個,例如它可能是一個函數或選擇器,或者一個布爾,這個跨框架有幾個例子:) – 2010-11-30 12:06:24
取決於幾乎你所在的範圍。
但總的來說if('function_name_to_check' in this)
將返回true
如果其中有名稱的全局或局部範圍的屬性。
這個檢查必須緊跟該類型額外的檢查:
可以肯定,這是一個功能。
如果你只是想避免錯誤,可以轉敗爲勝:
try{function2call();}
catch(e){alert('function2call() doesn\'t exist');}
- 1. 如何判斷是否存在具有此名稱的文件?
- 2. 如何判斷網頁是否存在?
- 3. 如何判斷一個javascript變量是否爲函數
- 4. 如何判斷NSUserDefaults是否已保存?
- 5. 如何判斷NSManagedObject是否已保存?
- 6. 如何判斷函數是否在Python中被調用?
- 7. NPAPI如何判斷NPObject是否是函數?
- 8. 如何判斷一個函數是否是一個類?
- 9. 如何判斷在Javascript替換函數中是否發生了替換?
- 10. 如何判斷數據庫中的表是否存在?
- 11. PHP:判斷文件是否存在?
- 12. 靜態解析:判斷兩個Javascript函數是否相同
- 13. 如何判斷editText是否在焦點?
- 14. 如何判斷一個函數是否可以睡覺?
- 15. 如何判斷Scala對象是否爲函數?
- 16. 如何判斷一個函數是否進入內核
- 17. 如何判斷一組值是否符合目標函數
- 18. 如何判斷函數是否將值返回給變量?
- 19. 如何判斷DLL函數是否從VB6 exe被調用?
- 20. 如何判斷是否刪除函數返回的指針
- 21. 如何判斷「ZipArchiveEntry」是否是目錄?
- 22. 是否可以判斷某個javascript代碼是否調用特定的函數?
- 23. 如何判斷Facebook刪除Javascript緩存
- 24. 是否有可能判斷函數是否遞歸?
- 25. 如何判斷某個字母是否在字符串中 - javascript
- 26. 如何判斷我的Javascript代碼是否在Jint中運行?
- 27. 如何判斷頁面是否在iframe中使用javascript?
- 28. 如何判斷我的圖書館是否在Clojars上簽名?
- 29. 如何判斷一個FTP文件是否存在使用ruby?
- 30. 如何判斷內存地址在OS中是否空閒?
試過嗎? `if(name_of_funcion){/ *接下來要做什麼* /}` – Cipi 2010-11-30 12:00:56