JS实现的判断方法、变量是否存在功能示例
本文实例讲述了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>
下一篇:JS实现调用本地摄像头功能示例