js判断方法变量是否存在

<!DOCTYPE html>
<html lang="en">
<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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值