首页 > 编程语言 > 详细

为了实现一个函数 clone ,可以对 JavaScript 中 5 种主要的数据类型 (包括 Number、 St「ing 、 Object、 A「「ay、 Boolean )进行值(深)复制。

时间:2020-07-15 22:08:40      阅读:47      评论:0      收藏:0      [点我收藏+]

代码:

      function clone(obj) {
        var buf
        if (obj instanceof Array) {
          var i = obj.length
          buf = [] // 向空的数组中复制内容
          while (i--) {
            buf[i] = clone(obj[i])
          }
          return buf
        } else if (obj instanceof Object) {
          buf = {} // 向空的对象中复制内容
          for (var k in obj) {
            buf[k] = clone(obj[k])
          }
          return buf
        } else {
          // 值类型直接返回
          return (buf = obj)
        }
      }
      // 测试
      var arr = [1, { a: 100 }, null]
      var obj = { a: 100, b: true, c: { d: ‘Hello‘ } }
      var num = 200
      console.log(clone(arr))
      console.log(clone(obj))
      console.log(clone(num))

技术分享图片

为了实现一个函数 clone ,可以对 JavaScript 中 5 种主要的数据类型 (包括 Number、 St「ing 、 Object、 A「「ay、 Boolean )进行值(深)复制。

原文:https://www.cnblogs.com/cqkjxxxx/p/13307286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!