我的代码是
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不加载。Firebug错误
我。onChange不是一个函数
我想优雅地降级,因为这不是我的程序中最重要的特性。Typeof给出相同的错误。
关于如何确保它存在,然后只执行onChange有什么建议吗?
(下面的方法除了try catch one work之外都没有)
试试typeof——用'undefined'表示它不存在,用'function'表示函数。这段代码的JSFiddle
function thisishere() {
return false;
}
alert("thisishere() is a " + typeof thisishere);
alert("thisisnthere() is " + typeof thisisnthere);
或作为if:
if (typeof thisishere === 'function') {
// function exists
}
或者在一行中返回一个值:
var exists = (typeof thisishere === 'function') ? "Value if true" : "Value if false";
var exists = (typeof thisishere === 'function') // Returns true or false