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

百度站长平台电脑版做网站编辑要会什么

百度站长平台电脑版,做网站编辑要会什么,重庆网站建设重庆零臻科技行,设计师接私活的网站文章目录 一、前言二、JSON.stringify三、for in 配合 hasOwnProperty四、Object.keys五、Object.getOwnPropertyNames六、Object.getOwnPropertyNames 结合 Object.getOwnPropertySymbols七、Reflect.ownKeys八、最后 一、前言 如何判断一个对象为空#xff1f; 先上结论JSON.stringify三、for in 配合 hasOwnProperty四、Object.keys五、Object.getOwnPropertyNames六、Object.getOwnPropertyNames 结合 Object.getOwnPropertySymbols七、Reflect.ownKeys八、最后 一、前言 如何判断一个对象为空 先上结论判断一个对象是否为空时使用 Reflect.ownKeys 方法最为完美。 今天我们来聊聊几种经常使用的方法以及在不同的场景下我们如何去使用。 二、JSON.stringify JSON.stringify 方法可以使对象序列化转为相应的 JSON 格式。 const obj {}; console.log(JSON.stringify(obj) {}) // true缺点如果存在 undefined、任意的函数以及 symbol 值在序列化过程中会被忽略出现在非数组对象的属性值中时或者被转换成 null出现在数组中时。 如下示例 const obj {a: undefined,b: function() {},c: Symbol() } console.log(JSON.stringify(obj) {}) // true三、for in 配合 hasOwnProperty 使用 for in 对当前对象进行遍历 const obj {} Object.prototype.a 1function isEmptyObj(obj) {let flag truefor (let o in obj) {flag falsebreak}return flag }console.log(isEmptyObj(obj)) // false由于 for in 在进行对象遍历时会遍历对象原型上的属性而我们只希望得到其自身的属性这时可以使用 hasOwnProperty 来实现如下 const obj {} Object.prototype.a 1function isEmptyObj(obj) {let flag truefor (let o in obj) {if (obj.hasOwnProperty(o)) {flag falsebreak}}return flag }console.log(isEmptyObj(obj)) // true缺点for in 不能遍历不可枚举的属性。 四、Object.keys Object.keys 会返回对象自身可枚举属性组成的数组而不会遍历原型上的属性。 const obj {} Object.prototype.a 1console.log(Object.keys(obj).length 0) // true缺点Object.keys 和 for in 都只能遍历可枚举属性不能遍历不可枚举的属性。 我们使用 Object.defineProperty 将属性 enumerable 设置为 false 来进行测试示例如下 const obj {} Object.defineProperty(obj, a, {value: 1,enumerable: false })console.log(obj.a) // 1 console.log(isEmptyObj(obj)) // true console.log(Object.keys(obj).length 0) // true五、Object.getOwnPropertyNames 使用 Object.getOwnPropertyNames 可以得到对象自身的所有属性名组成的数组(包括不可枚举属性)。 const obj {} Object.defineProperty(obj, a, {value: 1,enumerable: false })console.log(Object.getOwnPropertyNames(obj)) // [ a ]缺点不能获取 Symbol 值作为名称的属性以上的 JSON.stringify、for in 以及 Object.keys 方法也不能获取Symbol 值作为名称的属性示例如下 const a Symbol() const obj {[a]: 1 }console.log(obj) // { [Symbol()]: 1 } console.log(Object.getOwnPropertyNames(obj).length 0) // true console.log(JSON.stringify(obj) {}) // true console.log(isEmptyObj(obj)) // true console.log(Object.keys(obj).length 0) // true六、Object.getOwnPropertyNames 结合 Object.getOwnPropertySymbols 已知 Object.getOwnPropertyNames 唯一的缺点是不能获取 Symbol 值作为名称的属性而 Object.getOwnPropertySymbols 只能获取由 Symbol 值作为名称的属性两者相结合是不是就可以完美解决了。我们来简单测试一下 const a Symbol() const obj1 {[a]: 1 } const obj2 {b: 2} const obj3 {} Object.defineProperty(obj3, a, {value: 1,enumerable: false }) const obj4 {}function getLength(obj) {return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj)).length }console.log(getLength(obj1) 0) // false console.log(getLength(obj2) 0) // false console.log(getLength(obj3) 0) // false console.log(getLength(obj4) 0) // true经过测试上面这种方法的确可以解决但是比较繁琐那有没有更好的方法呢答案是有的。 七、Reflect.ownKeys Reflect.ownKeys 方法返回一个由目标对象自身的属性组成的数组它的返回值等同于 Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))示例如下 const a Symbol() const obj1 {[a]: 1 } const obj2 {b: 2} const obj3 {} Object.defineProperty(obj3, a, {value: 1,enumerable: false }) const obj4 {}console.log(Reflect.ownKeys(obj1).length 0) // false console.log(Reflect.ownKeys(obj2).length 0) // false console.log(Reflect.ownKeys(obj3).length 0) // false console.log(Reflect.ownKeys(obj4).length 0) // true八、最后 本人每篇文章都是一字一句码出来希望对大家有所帮助多提提意见。顺手来个三连击点赞收藏关注✨。一起加油☕
http://wiki.neutronadmin.com/news/164528/

相关文章:

  • 网站诊断方法加盟网站系统
  • net做公司网站西部数码网站管理助手 绑定域名
  • 北京h5网站建设公司wordpress菜单底部导航
  • 肇庆企业网站关键词优化教程温岭企业网站建设公司
  • 颜色调配网站wordpress 微信红包
  • 宁波专业网站推广平台咨询上海公司牌照最新价格
  • 什么网站做贸易好软件推广赚佣金渠道
  • 随州做网站的公司wordpress换空间
  • 建设网站策划织梦的官方网站
  • 花都区pc端网站建设wordpress 多域名共享数据库
  • 公司的宣传网站应该怎么做做旅行网站好
  • 互联网站的建设维护营销崇明做网站
  • 无锡做网站设计的公司wordpress 修改功能
  • 网站宣传平台手机移动端网站建设
  • 中国做网站的网站迁安网站建设
  • 杭州设计网站的公司哪家好北京网站优化培训
  • 阜宁县建设局网站wordpress右侧居中
  • 房地产网站模板 下载做网站多少钱西宁君博领衔
  • jsp 做网站需要什么模板的种类
  • 池州海绵城市建设官方网站系统开发过程中最重要最关键的环节是
  • 相城做网站的公司网络服务费交印花税吗
  • 熊掌号网站怎么做企业网站管理中心
  • 常用网站开发软件义乌市场官方网站
  • 网站asp怎么没有菜单栏微信服务商平台官网
  • 网站建设电话销售技巧和话术央视优购物官方网站
  • 广西地矿建设集团有限公司网站17网站一起做网店图片工具
  • 企业手机网站建设信息用python开发网站
  • 免费网站部署Wordpress 防注入代码
  • 培训型网站 建设方案网站建设怎么分录
  • 外贸网站用什么语言宝塔面板装不了wordpress