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


Posted in Javascript onMarch 28, 2020
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
////3water.com/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实现的判断方法、变量是否存在功能。分享给大家供大家参考,具体如下:

js 代码中经常会碰到 undefined 这种错误,下面本文分享一下为什么会发生这种错误以及如何处理这种错误,js 中如果通过 var 声明了一个变量但是没有初始化该变量的时候,此时该变量的值便为 undefined ,此时判断变量是否定义可使用 typeof 。下面举例说明一下

if(!result){ 
 alert("发生错误"); 
}

以上这段代码直接运行会发生异常,因为变量 result 没有申明就被使用了,下面几种写法都是正确的。

(1) 
 
if("undefined" == typeof result){ 
 alert("发生错误"); 
} 
(2) 
 
var result; 
if(undefined == result){ 
 alert("发生错误"); 
} 
(3) 
 
if("undefined" == typeof result){ 
 alert("发生错误"); 
}

补充

例如:

if(!myVar01)alert("发生错误");

// 该代码直接发生异常,因为变量myVar01没有申明 if("undefined" == typeof myVar01)alert("发生错误");

// 这样写才不至于发生异常

而: var myVar01; if(undefined == myVar01)alert("发生错误");

// 该代码会正确运行 if("undefined" == typeof myVar01)alert("发生错误");
// 该代码同样会正确运行

结论:我们采用下面的方式来保证万无一失 if("undefined" == typeof myVar01)alert("发生错误");

// 该代码同样会正确运行

当然判断数据的有效性远远不只这些,还有对null的判断,数字是否大道越界.

实例

<script>
//最常用
if("undefined" == typeof('a')){
//未定义
}else{
//定义
}

if("undefined" == typeof a){
//未定义
}else{
//定义
}

if(typeof a != "undefined"){
//true 定义
}else{
 //false 未定义
}
</script>

实际应用:

downlm有的页面我们不定义,但有的页面定义了,就可以需要这样的判断方法,没有定义的就不执行。

if("undefined" != typeof downlm){ 
if(downlm=="soft"){ 
document.write('成功'); 
} 
}

经测试完美。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
刷新时清空文本框内容的js代码
Apr 23 Javascript
jquery 新手学习常见问题解决方法
Apr 18 Javascript
在子窗口中关闭父窗口的一句代码
Oct 21 Javascript
jquery中添加属性和删除属性
Jun 03 Javascript
JavaScript程序中实现继承特性的方式总结
Jun 24 Javascript
jQuery Validate插件实现表单验证
Aug 19 Javascript
Bootstrap栅格系统的使用和理解2
Dec 14 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
Feb 18 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
Mar 21 Javascript
微信小程序 本地图片按照屏幕尺寸处理
Aug 04 Javascript
KOA+egg.js集成kafka消息队列的示例
Nov 09 Javascript
开发一个封装iframe的vue组件
Mar 29 Vue.js
vue 路由嵌套高亮问题的解决方法
May 17 #Javascript
JS实现字符串中去除指定子字符串方法分析
May 17 #Javascript
结合Vue控制字符和字节的显示个数的示例
May 17 #Javascript
微信小程序使用form表单获取输入框数据的实例代码
May 17 #Javascript
AngularJS实现的base64编码与解码功能示例
May 17 #Javascript
解决修复npm安装全局模块权限的问题
May 17 #Javascript
npm 下载指定版本的组件方法
May 17 #Javascript
You might like
删除无限级目录与文件代码共享
2006/07/12 PHP
网络资源
2006/10/09 PHP
php zip文件解压类代码
2009/12/02 PHP
php 定界符格式引起的错误
2011/05/24 PHP
php四种基础算法代码实例
2013/10/29 PHP
9个比较实用的php代码片段
2016/03/15 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
js的写法基础分析
2011/01/17 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
jQuery中选择器的基础使用教程
2016/05/23 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
python游戏开发的五个案例分享
2020/03/09 Python
python3中确保枚举值代码分析
2020/12/02 Python
Myprotein葡萄牙官方网站:英国优质运动营养品牌
2016/09/12 全球购物
COS美国官网:知名服装品牌
2019/04/08 全球购物
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
应届生.NET方向面试题
2015/05/23 面试题
教师实习自我鉴定
2013/12/18 职场文书
财务管理专业自荐信范文
2013/12/24 职场文书
让子弹飞观后感
2015/06/11 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
最新最全的手机号验证正则表达式
2022/02/24 Javascript