使用一个未定义的变量,javascript会报 Uncaught ReferenceError 错误,正常情况下也不需要考虑这种情况,试想这样一个情景:AB两个功能类似的页面引用了同一个js文件,有一天有一个有个紧急的需求修改,需要在A页面引入新的js变量,然后你再那个js文件做了对应的修改,然而因为时间太久的原因,你忘记了B页面也同样引用了这个js,那么问题来了。紧急上线后,A页面是没有任何问题,B页面的位于那一小段js之后的所用功能都挂了,在不同的公司,这个影响可大可小(我当时遇到时影响很大)........
1、最传统的方式
typeof 操作符 作用于一个未定义的变量返回‘undefined’字符串;类似 if(typeof varibleA != '‘undefined’') { do something.... }
2、写插件时经常用到的
var varibleA = varibleA || "";
但是不可以写成 var varibleB = varibleA || ""; 其根本原因我不是很清楚,望懂的朋友解释下。
3、这个比较有意思,可以解决2遇到的问题
var varibleB = window.varibleA || ""; 不需要解释吧
4、使用javascript异常处理
try{
do something with varibleA .........
}catch(e){
do something with the Exception............
}
后面跟正常逻辑处理程序即可。
鄙人暂时知道这么几种,欢迎指正与补充。