当前位置: 首页 > news >正文

网站自创中国百强县市榜单

网站自创,中国百强县市榜单,网站建设与网页设计制作,川畅咨询 网站建设前言 在javascript里,可以有多种判断对象属性是否存在的方法,使用哪种方法来判断,取决于对 “存在” 两个字的定义是什么。 方法1:对比undefined const obj {} if (obj.id ! undefined) {console.log(存在) } else {console.l…

前言

在javascript里,可以有多种判断对象属性是否存在的方法,使用哪种方法来判断,取决于对 “存在” 两个字的定义是什么。

方法1:对比undefined

const obj = {}
if (obj.id !== undefined) {console.log('存在')
} else {console.log('不存在')
}

此种方法的缺点是,如果对象真的有一个 id 属性,但是值为undefined的话,此方法会判断为 id 属性不存在。

方法2:使用Object.keys()

const obj = {id: 1}
if (Object.keys(obj).includes('id')) {console.log('存在')
} else {console.log('不存在')
}

Object.keys()可以获取到一个对象全部自有可枚举属性,如果一个属性不符合 “自有” 和 “可枚举” 这两个条件的话,Object.keys()是获取不到的,就会导致判断为属性不存在。

自有

“自有”的意思是这个属性是对象自己的,而不是在它的原型链上,比如:

const obj = {}obj.id = 1 // 此时的id是obj的自有属性obj.__proto__.id = 1 // 此时的id不是obj的自有属性
可枚举

每一个对象属性都有一个描述符,例如下面代码是获取 obj 对象 id 属性的描述符:

const obj = {id: 1}
console.log(Object.getOwnPropertyDescriptor(obj, 'id'))
// 输出:{value: 1, writable: true, enumerable: true, configurable: true}

输出内容中的 enumerable就是可枚举的描述符,值为 true 代表此属性可枚举可遍历,false 代表不可以。

如果我们给 obj 对象添加一个不可枚举的 id 属性,会发现使用Object.keys() 方法会判断为属性不存在:

const obj = {}
// 定义一个不可枚举的属性
Object.defineProperty(obj, 'id', {value: 1,enumerable: false
})if (Object.keys(obj).includes('id')) {console.log('存在')
} else {console.log('不存在') // 输出:不存在
}

方法3:使用hasOwnProperty()

const obj = {id: 1}if (obj.hasOwnProperty('id')) {console.log('存在')
} else {console.log('不存在')
}

此方法跟 方法2 相似,区别是此方法只需要满足“属性是自有的”这一个条件就可以了,而不管属性可不可枚举,都能获取到。

方法4:使用in

const obj = {id: 1}if ('id' in obj) {console.log('存在')
} else {console.log('不存在')
}

此方法在本文提到的4种方法里,判断范围是最广的,不管属性是“自有的”还是“非自有的”,是“可枚举的”还是“不可枚举的”,它都能判断得出来。

http://www.mmbaike.com/news/31687.html

相关文章:

  • 商汇通网站全自动推广软件
  • 网站设计规划报告无人区在线观看高清1080
  • 为什么用MyEclipse做网站最近新闻热点事件
  • 移动版网站建设2022小说排行榜百度风云榜
  • 为什么实验楼网站上做实验这么卡公司网页制作教程
  • 有那个网站可以做报名链接的西安seo顾问
  • 学商务网站建设的感想目前病毒的最新情况
  • 如需手机网站建设怎么样自己创建网站
  • 怎么用网站视频做自媒体网站推广名词解释
  • 手机介绍网站杭州百度首页排名
  • 上海企业网站哪有网页设计公司
  • 临夏金属装饰网站建设百度指数购买
  • 重庆网站有哪些百度seo培训
  • 网站建设售后服务安全维护网络推广靠谱吗
  • 哪个网站可以做封面优秀营销软文范例800字
  • 在深圳找工作哪个网站好百度seo优化排名客服电话
  • 优化营商环境指什么seo关键词推广怎么做
  • 可以自己买个服务器做网站吗网络平台推广
  • 软件工程考研方向百度seo排名优化排行
  • 建设一个商城网站要多少钱百度地图推广怎么收费标准
  • 自己注册公司流程和费用多少肇庆seo按天计费
  • 驻马店市住房和城乡建设委员会网站搜索引擎哪个好用
  • 网站服务器物理地址怎么查百度seo排名点击器app
  • 中山哪里有做微网站的百度竞价平台官网
  • 设计网站费用vue seo 优化方案
  • 电商网站设计费用南安网站建设
  • 网站开发专业社会实践调研报告杭州seo软件
  • 网站建设发布ps科技感互动营销案例分析
  • 福州建设发展集团网站百度网盘官网网页版
  • layui做网站seo效果最好的是