一尘不染

如何检查JavaScript中是否存在函数?

javascript

我的代码是

function getID( swfID ){
     if(navigator.appName.indexOf("Microsoft") != -1){
          me = window[swfID];
     }else{
          me = document[swfID];
     }
}

function js_to_as( str ){
     me.onChange(str);
}

但是,有时我onChange无法加载。萤火虫错误

me.onChange不是一个函数

我想优雅地降级,因为这不是我程序中最重要的功能。typeof给出相同的错误。

关于如何确保它存在然后仅执行的任何建议onChange

(下面的任何一种方法都不能尝试抓到一件作品)


阅读 289

收藏
2020-05-01

共1个答案

一尘不染

尝试这样的事情:

if (typeof me.onChange !== "undefined") { 
    // safe to use the function
}

或更好(根据UpTheCreek推荐的评论)

if (typeof me.onChange === "function") { 
    // safe to use the function
}
2020-05-01