A-A+
javascript如何判断变量是否存在
本文章来给大家介绍关于javascript如何判断变量是否存在一些方法,我们在js中未定义变量是undefined但是不能直接使用aa==undefined 而应该使用 typeof(variable)===\'undefined\')哦。
开始还以为只要if(variable===undefined)就能实现,但是在chrome中运行时却报错了,后来在网上找了找发现了一个方式if(typeof(variable)==='undefined'),如果在window作用域下,这个方式是不会报错的,当然如果你的作用域是在自己的对象或者函数中,则if(variable===undefined)就可以了,代码如下:
- if (typeof(x) == "undefined") {
- alert("未定义");
- }
除了用if(MyObject == null)判断外,首先必须定义变量MyObject,代码如下:
- var MyObject;
- if(MyObject == null) {
- MyObject = {};
- }
2、因为是全局对象,可以用window.变量名方式判断,代码如下:
- if(window.MyObject == null) {
- window.MyObject = {};
- }//xiariboke.net
- //或者
- if(!("MyObject" in window)) {
- window.MyObject = {};
- }
不建议使用if(!MyObject)或者if(!window.MyObject)方式判断对象是否存在,因为当MyObject=false或者MyObject=""时,该条件判断也是成立的,附上判断对象未定义的方法:
- var a;
- alert(a == undefined);//第一种
- alert(typeof a == "undefined");//第二种
- alert(a === undefined);//与第一种类似
- //如果是判断一个对象的某个属性是否存在,可以用以下方法:
- var obj = {};
- alert(obj.hasOwnProperty('a'));
- alert('a' in obj);