如何判断js里的对象是否存在

JavaScript012

如何判断js里的对象是否存在,第1张

首先检查页面是否有错误,是否出现xxx未定义的情况

然后可以alert下,例如:

varstudent=newfunction(){

this.id="01"

this.name="aa"

}

alert(student)

alert(student.id)

如果是[objectObject],说明存在

如果是undefined或null则说明不存在。

也可以使用js断点调试工具,跟踪调试,比如firebug

1、直接判断对象不为null

if (!myObj) {

var myObj = { }

}

Javascript语言是"先解析,后运行",解析时就已经完成了变量声明

2、使用window对象判断某对象是否存在

if (!window.myObj) {

var myObj = { }

}

3、使用this对象判断某对象是否存在

if (!this.myObj) {

this.myObj = { }

}

在某些运行环境中(比如V8、Rhino),window未必是顶层对象。所以,考虑改成this进行判断,在全局变量的层面中,this关键字总是指向顶层变量,所以就可以独立于不同的运行环境。

4、方法三这样写可读性较差,而且this的指向是可变的,容易出错,所以进一步改写:

var global = this

if (!global.myObj) {

global.myObj = { }

}

if (typeof myObj == "undefined") {

var myObj = { }

}

这是目前使用最广泛的判断javascript对象是否存在的方法。