2012-11-28 61 views
6

可能重複它:
if function does not exist write function - javascript聲明這樣的功能,如果不存在

我有一個情況的一些功能X被調用時。在一些回傳之後,這個函數不再被聲明,但仍然被代碼調用,顯然我得到了js錯誤,說X is not defined。 (如果你願意,可以稱它爲bug)但是 不能在我的控制之下不調用它或改變調用功能。

我想要做的是一個失敗保險箱,如果它不存在就會聲明這樣的功能。所以邏輯是:

如果函數未聲明,則聲明一個。

這是可能的JavaScript即聲明/註冊一個函數在全球範圍內動態?

謝謝。

+1

一些代碼將是有益的 – polin

回答

7
if (typeof window.functionX === 'undefined') { 
    window.functionX = function() { 
     // fallback code here 
    } 
} 
2

當然這是

if(!myFunc) { 
    myFunc = function() {} 
}