ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptで関数や変数の有無を判定するサンプルコードを詳しく解説

JavaScriptで関数や変数の有無を判定するサンプルコードを詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-07-18 11:21:041201ブラウズ

指定された関数が存在するかどうか

function isExitsFunction(funcName) {
    try {
        if (typeof(eval(funcName)) == "function") {
            return true;
        }
    } catch(e) {}
    return false;
}

PHPでよく使われる判定関数と同様に、存在しない場合は作成

if (typeof String.prototype.endsWith != 'function') {
  String.prototype.endsWith = function(suffix) {
    return this.indexOf(suffix, this.length - suffix.length) !== -1;
  };
}

js関数が存在するかどうかを判定し、存在する場合は実行

funcNameを関数名として、目標を達成するには次の方法があります

Try catch ブロックを必ず追加してください。そうしないと機能しません。

try 
{  
  if(typeof(eval(funcName))=="function")  
  {
      funcName();
  }
}catch(e)
{
//alert("not function"); 
}

指定された変数が存在するかどうか

function isExitsVariable(variableName) {
    try {
        if (typeof(variableName) == "undefined") {
            //alert("value is undefined"); 
            return false;
        } else {
            //alert("value is true"); 
            return true;
        }
    } catch(e) {}
    return false;
}

混合コード:

//是否存在指定函数 
function isExitsFunction(funcName) {
    try {
        if (typeof(eval(funcName)) == "function") {
            return true;
        }
    } catch(e) {}
    return false;
}
//是否存在指定变量 
function isExitsVariable(variableName) {
    try {
        if (typeof(variableName) == "undefined") {
            //alert("value is undefined"); 
            return false;
        } else {
            //alert("value is true"); 
            return true;
        }
    } catch(e) {}
    return false;
}

以上がJavaScriptで関数や変数の有無を判定するサンプルコードを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。