问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js怎样判断object不是空

发布网友 发布时间:2022-04-27 00:53

我来回答

1个回答

热心网友 时间:2022-05-16 07:43

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 = { }; }5、可以使用typeof运算符,判断myObj是否有定义。if (typeof myObj == "undefined") { var myObj = { }; }这是目前使用最广泛的判断javascript对象是否存在的方法。6、由于在已定义、但未赋值的情况下,myObj的值直接等于undefined,所以上面的写法可以简化:if (myObj == undefined) {  var myObj = { }; }有两个地方需要注意,首先第二行的var关键字不能少,否则会出现ReferenceError错误,其次undefined不能加单引号或双引号,因为比较的是undefined这种数据类型,而不是"undefined"这个字符串。7、用精确比较===判断对象是否存在if (myObj === undefined) { var myObj = { }; }8、根据javascript的语言设计,undefined==null,所以比较myObj是否等于null,也能得到正确结果if (myObj == null) { var myObj = { }; }不过,虽然运行结果正确,但是从语义上看,这种判断方法是错的,应该避免。因为null指的是已经赋值为null的空对象,即这个对象实际上是有值的,而undefined指的是不存在或没有赋值的对象。因此,这里只能使用"比较运算符"(==),如果这里使用"精确比较运算符"(===),就会出错9、还可以使用in运算符,判断myObj是否为顶层对象的一个属性if (!('myObj' in window)) {  window.myObj = { }; }10、使用hasOwnProperty方法,判断myObj是否为顶层对象的一个属性if (!this.hasOwnProperty('myObj')) { this.myObj = { }; }总结:1、如果只判断对象是否存在,推荐使用第五种写法。2、如果除了对象是否存在,还要判断对象是否有null值,推荐使用第一种写法。3、除非特殊情况,所有变量都应该使用var命令声明。4、为了跨平台,建议避免使用window表示顶层对象。5、在Javascript语言中,null和undefined容易产生混淆。在可能同时涉及两者的情况下,建议使用"精确比较"运算符(===)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
黄山门户网主要栏目 壹家居品牌简介 湖南乐享生活家居有限公司一站式毛坯房解决方案 服务器出租 电脑上的时间日期不同步怎么办 台式电脑时间不同步怎么解决? 关于清明节的小学作文400字 微信怎么查询自己名下的微信 如何查看微信实名认证了几个账号 轿车120时速撞击力有多大? 怎么判断js为undefined 关于JS不等于与或的判断问题 js 稀疏数组的空位是否等于undefined js如何判断一个变量是否为undefined? JS中如何判断null、undefined与NaN js如何判断undefined js 如何同时判断 某个变量不是 undefined 也不是 null也不是 空啊 js怎么判断是否是undefined 中国各省自治区直辖市的省会及简称是什麽? 2015年海南中考,儋州地区765分能上海中吗 上海市虹口区哪些高中好 上海市虹口区市五中学,海南中学,实验中学哪个好? 急!急!急!急!急! 海南大还是上海大?谁能告诉我吗? 从上海坐飞机到海南要多久 上海市海南中学怎么样? 天津市、海南省、上海市哪个不属于行政区中的三级制 海南中双色球上海可以领奖吗 上海到海南岛要多久? 上海也是我们海南省的吗? 上海市,海南省,安徽省,贵州省,这些的简称是什么? 穿到末世文男主是反派的文 穿书末世文,男主是反派boss,是个科学家制造了丧尸病毒,女主是反派的老婆(不是未婚妻) 末世耽美文,主角穿到末世文里成了反派boss 求推荐一些反派小说 末世打怪升级掉装备小说主角是坏人而且很厉害 求类似末日反派系统的穿越的甜文~攻要是反派的BOSS,而且很强大冷酷,但对受很好,很宠溺~ 求末世耽美文或穿书(最好攻是主角或反派),主受,么么哒 有没有主角是超级大反派的末世小说 末世重生耽美文,主角重生前是有能控制丧尸的反派大boss,重生后觉醒了治愈能力变成救世主,有个妹妹 求一本穿书末世文 男主是反派残疾 末世穿书耽美文,穿成反派 求一本小说,女主穿越到末世,男主是女主前世看的小说里的反派,坐轮椅的。 找一篇女主重生在末世之前的小说,男主是反派boss,是人,不是丧尸他后妈哦 女主嫁给男主,男主有孩子,孩子和男主都是反派女主拯救是什么小说 求主角是反派的小说,要男主。 求末世耽美文,男主是反派攻 女主穿书,男主反派BOSS黑化,末世文宠文,女主被破身的时候废了修为 女主是穿书女配,名字叫林晓,男主反派boss,和女主有婚约,好像叫唐天琦,是末世文。求书名 如何安装四川省基层医疗卫生管理信息系统 四川省基层医疗卫生管理信息系统密码忘记怎样找回