全国统一服务热线:400-633-9193

JS实现的判断方法、变量是否存在功能示例

    网络     2018-06-07    1333

本文实例讲述了JS实现的判断方法、变量是否存在功能。分享给大家供大家参考,具体如下:


<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <title>Title</title>

</head>

<body>

//http://www.jb51.net/article/67551.htm

//判断变量i是否存在 typeof(i)=="undefined"

<script>

  /*---------------------------判断函数是否存在-------------------------------*/

  function isExitsFunction(funcName) {

    try {

      if (typeof(eval(funcName)) == "function") {

        return true;

        //  funcName();

      }

    } catch (e) {

      console.log(eval(funcName) + "+++++++++++++++++我异常了!!!!!!!!");

    }

    return false;

  }

  /*--------------------------------判断是否存在指定变量 -----------------------------------------*/

  function isExitsParamsVariable(variableName) {

    try {

      console.log("variableName.length===" + variableName.length);

      if (variableName.length == 0) {

        console.log(variableName + "===value has no params");//"":length为0

        return false;

      } else {

        console.log(variableName + "======value has params");//0:length为undefined

        return true;

      }

    } catch (e) {

      console.log(variableName + "----我异常了!!!!!!!!");//null,undefined,未赋值的a

    }

    return false;//null,undefined,未赋值的a

  }

  /*---------------------------------判断是否undefined--------------------------------*/

  function isExitsVariable(variableName) {

    console.log("typeof variableName====" + typeof(variableName));

    try {

      if (typeof(variableName) == "undefined") {

        console.log(variableName + "===value is undefined");//undefined,未赋值的a

        return false;

      } else {

        console.log(variableName + "=======value is true");//null,0,""

        return true;

      }

    } catch (e) {

      console.log(variableName + "-------我异常了........");

    }

    return false;

  }

  /*-------------------------------------------------测试数据---------------------------------------------*/

  var a;//声明未初始化,没有长度

  console.log("isExitsParamsVariable(a)" + isExitsParamsVariable(a));

  console.log("isExitsVariable(a)" + isExitsVariable(a));

  console.log("--------------------------------------------------")

  var b = undefined;//没有长度

  console.log("isExitsParamsVariable(b)===" + isExitsParamsVariable(b));

  console.log("isExitsVariable(b)===" + isExitsVariable(b));

  console.log("--------------------------------------------------")

  var c = null;//没有长度

  console.log("isExitsParamsVariable(c)===" + isExitsParamsVariable(c));

  console.log("isExitsVariable(c)===" + isExitsVariable(c));

  console.log("--------------------------------------------------")

  var d = 0;//长度undefined

  console.log("isExitsParamsVariable(d)===" + isExitsParamsVariable(d));

  console.log("isExitsVariable(d)===" + isExitsVariable(d));

  console.log("--------------------------------------------------")

  var e = "";//长度为0

  console.log("isExitsParamsVariable(e)====" + isExitsParamsVariable(e));

  console.log("isExitsVariable(e)===" + isExitsVariable(e));

  console.log("--------------------------------------------------")

  /*未定义声明 f 则log会报错:Uncaught ReferenceError: f is not defined ,不会执行两个判断方法*/

  console.log("isExitsParamsVariable(f)====" + isExitsParamsVariable(f));//f:undefined

  console.log("isExitsVariable(f)===" + isExitsVariable(f));

</script>

</body>

</html>


  分享到:  
0.3850s