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

深圳建站工作室wordpress中如何添加面包屑

深圳建站工作室,wordpress中如何添加面包屑,小程序源码提取,网站基本框架通过递归可以简单实现对象的深拷贝#xff0c;但是这种方法不管是 ES6 还是 ES5 实现#xff0c;都有同样的缺陷#xff0c;就是只能实现特定的 object 的深度复制#xff08;比如数组和函数#xff09;#xff0c;不能实现包装对象 Number#xff0c;String #xff0…通过递归可以简单实现对象的深拷贝但是这种方法不管是 ES6 还是 ES5 实现都有同样的缺陷就是只能实现特定的 object 的深度复制比如数组和函数不能实现包装对象 NumberString Boolean以及 Date 对象RegExp 对象的复制。 (1)简单的深拷贝 function deepClone(obj) {var newObj obj instanceof Array ? [] : {}for (var i in obj) {newObj[i] typeof obj[i] object ? deepClone(obj[i]) : obj[i]}return newObj } 这种方法可以实现一般对象和数组对象的拷贝比如 var arr [1, 2, 3]var newArr deepClone(arr)// newArr-[1,2,3]var obj {x: 1,y: 2 }var newObj deepClone(obj)// newObj{x:1,y:2} 但是不能实现例如包装对象 Number,String,Boolean,以及正则对象 RegExp 和 Date 对象的拷贝比如 //Number 包装对象var num new Number(1)typeof num // objectvar newNum deepClone(num)//newNum - {} 空对象//String 包装对象var str new String(hello)typeof str //objectvar newStr deepClone(str)//newStr- {0:h,1:e,2:l,3:l,4:o};//Boolean 包装对象var bol new Boolean(true)typeof bol //objectvar newBol deepClone(bol)// newBol -{} 空对象 (2)valueof()函数 所有对象都有 valueOf 方法valueOf 方法对于如果存在任意原始值它就默认将对象转换为表示它的原始值。对象是复合值而且大多数对象无法真正表示为一个原始值 因此默认的 valueOf()方法简单地返回对象本身而不是返回一个原始值。数组、函数和正则表达式简单地继承了这个默认方法调用这些类型的实例的 valueOf()方法只是简单返回这个对象本身。 对于原始值或者包装类 function baseClone(base) {return base.valueOf() }//Numbervar num new Number(1)var newNum baseClone(num)//newNum-1//Stringvar str new String(hello)var newStr baseClone(str)// newStr-hello//Booleanvar bol new Boolean(true)var newBol baseClone(bol)//newBol- true 其实对于包装类完全可以用号来进行拷贝其实没有深拷贝一说这里用 valueOf 实现语法上比较符合规范。 对于 Date 类型 因为 valueOf 方法日期类定义的 valueOf()方法会返回它的一个内部表示1970 年 1 月 1 日以来的毫秒数.因此我们可以在 Date 的原型上定义拷贝的方法 Date.prototype.clone function () {return new Date(this.valueOf()) }var date new Date(2010)var newDate date.clone()// newDate- Fri Jan 01 2010 08:00:00 GMT0800 对于正则对象 RegExpRegExp.prototype.clone function () {var pattern this.valueOf()var flags flags pattern.global ? g : flags pattern.ignoreCase ? i : flags pattern.multiline ? m : return new RegExp(pattern.source, flags) }var reg new RegExp(/111/)var newReg reg.clone()//newReg- /\/111\// 最终解决方案 // 在深拷贝的基础上对包装对象NumberStringBooleanDate 对象RegExp正则对象进行深拷贝 function deepClone(obj) {let newObj obj instanceof Array ? [] : {}for (let i in obj) {// for...in 会遍历原型上的属性此处只拷贝obj对象自身的属性if (obj.hasOwnProperty(i)) {let type Object.prototype.toString.call(obj[i])if (typeof obj[i] object) {// 拷贝的值为对象则需要深拷贝if (type [object Date]) {newObj[i] new Date(obj[i].valueOf())} else if (type [object RegExp]) {// 正则对象let pattern obj[i].valueOf()let flags flags pattern.global ? g : flags pattern.ignoreCase ? i : flags pattern.multiline ? m : newObj[i] new RegExp(pattern.source, flags)} else if (type [object Array] || type [object Object]) {// 数组或对象newObj[i] deepClone(obj[i])} else {// 包装对象NumberStringBooleannewObj[i] obj[i].valueOf()}} else if (typeof obj[i] function) {// 函数newObj[i] new Function(return obj[i].toString())()} else {// 拷贝的值为原始值则直接复制该值newObj[i] obj[i]}}}return newObj } 测试 let obj {name: zs,age: 20,food: [apple, banana, orange],obj1: {school: nyist},reg: new RegExp(/A-Z/, gi),date: new Date(),bol: new Boolean(true),num: new Number(999),fn: function () {this.age} }let res deepClone(obj)res.obj1.school 清华 res.fn function (a, b) {console.log(a, b) } res.food[1] 香蕉console.log(res, res, obj, obj) console.log(res.reg obj.reg) 原文链接https://blog.csdn.net/weixin_52624519/article/details/129265211
http://www.hkea.cn/news/14350302/

相关文章:

  • 电影网站开发现状推广普通话宣传内容
  • 上海网站建设不好苏州微信网站建设
  • 帮做钓鱼网站会怎样wordpress博客百度收录
  • 自己编写网站wordpress 调用文章摘要
  • 山东专业网站建设公司哪家好鞍山玉佛苑玉佛图片
  • 唐山市做网站几种语言的网站如何做
  • 做网站 学什么重要新闻头条
  • 2016做网站百度号码认证平台个人号码申诉
  • 深圳网站建设ejaket更改wordpress链接数据库
  • 网站制作与网站设计郑州做优化的公司有哪些
  • 工艺品网站怎么做自己建网站买玩具
  • 唐山住房和城乡建设网站今天重大新闻摘抄
  • 网站流量转换做网页和网站一样吗
  • 网店的网站设计方案广州网站建设服务
  • 安卓做网站教程做网站推广的公司
  • 旅游手机网站开发网站开发模板教务管理
  • 网站式小程序幸福人寿保险公司官方网站
  • 弹出网站代码网站运营托管咨询
  • 网站栏目建设需求的通知青岛建网站需要花多少钱
  • 大佬做的魔法少女网站渭南网站建设服务
  • 中国十大流量网站厦门做网页网站的公司
  • 济南建设网站公司网上服装商城网站建设方案
  • 主流建站cms公司软件网站开发怎么入账
  • 沌口网站建设wordpress 微信采集插件
  • 郑州区块链数字钱包网站开发多少钱怎样备份网站
  • 怎样在各大网站做推广番禺人才网招聘网
  • 网站设计就业前景青岛企业网站建设优化
  • aspnet校友录网站开发网站开发安装环境
  • qq炫舞做字网站江门seo网站
  • 公司网站模板 html品牌网站建设流程