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

在阿里巴巴上做网站要多少钱网站建设题库

在阿里巴巴上做网站要多少钱,网站建设题库,互联网网站建设挣钱吗,郑州网站建设郑州网站建设如何判断一个对象为空是我们在开发中经常会遇到的问题#xff0c;今天我们来聊聊几种经常使用的方法#xff0c;以及在不同的场景下我们如何去使用。 1. JSON.stringify JSON.stringify 方法可以使对象序列化#xff0c;转为相应的 JSON 格式。 js 复制代码 const obj {…如何判断一个对象为空是我们在开发中经常会遇到的问题今天我们来聊聊几种经常使用的方法以及在不同的场景下我们如何去使用。 1. JSON.stringify JSON.stringify 方法可以使对象序列化转为相应的 JSON 格式。 js 复制代码 const obj  {};console.log(JSON.stringify(obj)  {})  // true缺点如果存在 undefined、任意的函数以及 symbol 值在序列化过程中会被忽略出现在非数组对象的属性值中时或者被转换成 null出现在数组中时。更多[1] 如下示例 const obj  {a: undefined,b: function() {},c: Symbol() }console.log(JSON.stringify(obj)  {})  // true2. 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 不能遍历不可枚举的属性。 3. 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)  // true4. 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)  // true5. 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经过测试上面这种方法的确可以解决但是比较繁琐那有没有更好的方法呢答案是有的。 6. 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总结 判断一个对象是否为空时使用 Reflect.ownKeys 方法最为完美。
http://www.dnsts.com.cn/news/173275.html

相关文章:

  • 东营网站建设收益高网站建设中幻灯片如何加链接
  • html5网站模板免费支付宝网站开发流程
  • 番禺移动网站建设wordpress cms怎么登陆界面
  • 购物网站界面设计上海免费模板建站
  • 蓝色网站设计专业做酒店装修的公司
  • 海淀做网站哪家公司好龙岩任做网站的哪几个比较好
  • 公共交通公司网站建设方案建设网站模块需要哪些
  • 北京出名做网站的公司做网站手把手
  • 网站开发岗位说明书安徽网站建设哪家有
  • 让人做网站 需要准备什么软件常见的pc端网站布局
  • 广州建设厅网站广东省门户网站建设的现状
  • 北京建设招聘信息网站网站套餐
  • 站点搜索如何速发布wordpress
  • asp.net+h5网站开发网页设计作业主题推荐
  • 校园论坛网站建设论文如何让百度收录网站
  • 山西省建设注册中心网站首页做地方黄页网站
  • 怎么做最简单的网站中国制造网外贸网官网登录入口
  • 食品网站建设优化案例jarida wordpress
  • 网站域名密码忘了卖东西的网站怎么建设
  • 杭州营销网站制作wordpress 手机维修
  • 做烘焙网站微博推广方式
  • 网站开发与维护专员岗位职责wordpress 弹出 广告
  • 基本的网站建设知识做网站做百度竞价赚钱
  • 烟台网站建设 熊掌号南昌seo代理商
  • 顺德品牌网站建设公司豌豆荚应用商店
  • 巴南网站建设久霸高端网页版
  • 建设网站需要买什么手续做网站公司好
  • 伙购网官方网站短网址转换器
  • 建设网站第一部分网站建设7个主要流程
  • 网站建设的扩展阶段包括2023年新闻小学生摘抄