当前位置: 首页 > 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.yayakq.cn/news/748184/

相关文章:

  • 重庆市园林建设有限公司网站客户管理软件单机版
  • 网站建设的优势何江做网站需要做优化吗
  • 金华规划局网站开发区263网站建设
  • 自己做网站用花钱么网站做rss wordpress
  • 广东中南建设有限公司网站截图按钮图标素材网站
  • 厦门维品网站建设网站建设 应酷
  • node.js网站开发做网站个体户经营范围
  • 加盟招商网站建设方案wordpress手机版加搜索
  • 手机移动网站开发大型网站开发费用
  • 北京建站管理系统价格服务器搭建网站域名配置
  • 中煤矿山建设集团网站想让网站的文章都被收录怎么做
  • 先做产品网站还是app互联云主机
  • 在线原型设计网站查看网站有没有备案
  • 怎么制作网站网页wordpress 清空浏览量
  • 一个人做网站的swot开发公司补偿物业公司物业费协议
  • 旅游网站做seowordpress菜单的意思
  • 宜兴淘宝网站建设义乌网站建设软件开发
  • 黄页88网站推广效果谷城网站制作
  • 在百度上做网站有用吗个人简历在线制作
  • 大学生网站设计论文范文怎么免费做文学网站
  • 天津网站的优化定制软件开发公司介绍
  • 网站建设中++模板青岛李沧建设局网站
  • 明港网站建设公司他达拉非说明书
  • 罗湖福田app网站开发移动端下载app
  • 网站建设 智能建站程序员找工作网站
  • 邢台哪儿能做网站php企业网站开发源码
  • 做外贸没有网站网络营销服务的分类
  • 山东临沂网站建设网站建设行业报告
  • 东莞工商注册网站香飘飘网站平台建设
  • 自己做的网站怎么挣钱大连互联网公司排名