手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

判断JS对象是否存在

首页 > Javascript >

在WEB应用中,可能会经常使用一些JS框架,或者使用一些已经存在的变量,如果我全程参与开发,那么自然不存在需要判断变量是否存在的问题,但如果多人开发,或者是写一框架,最后由别人运行,那么势必需要在运行前判断某些我需要用到的变量或者对象啥的是否存在。

最后我的判断方法是采用了Javascript的标准判断,if(typeof(Test) == 'undefined')可以得知是否存在这个变量,当然直接用if(typeof(Test) == 'object')就可以判断是不是对象了。

看了流年写的Base.js才发现,原来也可以这样
function is_object(obj) {
    return (obj.constructor.toString().indexOf("Object")!= -1);
}

毕竟所有的东西,在JS里几乎都可以算是对象,所以这样也能够来进行判断,学习一下……

不过,相对而言,应该是 typeof 更快捷吧




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

« 上一篇 | 下一篇 »

2条记录访客评论

你这里的obj是以参数的形式传进来的,我现在遇到这个问题:
if(typeof(document.getElementById(\"10002\")) == \"undefined\")

   alert(\"未定义\");

我本想这样来判断这个对象是否存在(实际上10002这个ID根本没有定义),所以document.getElementById(\"10002\")就好像已经出错,不知道大侠有没有好的解决办法~~急呀~~希望大侠能够给小弟一个邮件帮忙,谢谢

Post by janwang on 2008, September 16, 6:20 PM 引用此文发表评论 #1

你这里的obj是以参数的形式传进来的,我现在遇到这个问题:
if(typeof(document.getElementById("10002")) == "undefined")

   alert("未定义");

我本想这样来判断这个对象是否存在(实际上10002这个ID根本没有定义),所以document.getElementById("10002")就好像已经出错,不知道大侠有没有好的解决办法~~急呀~~希望大侠能够给小弟一个邮件帮忙,谢谢

Post by janwang on 2008, September 16, 6:20 PM 引用此文发表评论 #2


发表评论

评论内容 (必填):