<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> ////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实现的判断方法、变量是否存在功能。分享给大家供大家参考,具体如下:
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字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]