當我寫Javascript函數未定義且仍然可調用的可能性如何?
window.external.AddSearchProvider
在Internet Explorer 11,我得到「未定義」,但我仍然可以調用和使用功能。在Chrome中,此方法已定義並可用。
如果我寫
"AddSearchProvider" in window.external
我在IE和Chrome瀏覽器獲得 「真」。
這是預期的行爲?我的印象是,我可以通過檢查它是否被定義來檢查是否可以使用函數,還是我誤解了某些東西?
函數不能'undefined'因爲他們的功能,但變量可以'undefined'控股前'功能「對象。 – MinusFour
錯誤! 'AddSearchProvider'是'window.external'中的一個變量。 'in'檢查'window.external'中是否有該名稱的變量。 AddSearchProvider的值並不重要 –
@Thouartamazing呵呵?對我來說,'window.external.AddSearchProvider'的值是'undefined'確實很奇怪。 – Pointy