JS技术

Javascript教程:重温Javascript继承机制_Javascript教程(3)

字号+ 作者:H5之家 来源:H5之家 2015-09-17 17:15 我要评论( )

所谓深拷贝,就是能够实现真正意义上的数组和对象的拷贝。它的实现并不难,只要递归调用浅拷贝就行了。 function deepCopy(p, c) {var c = c || {};for (var i in p) {if (typeof p[i] === 'object') {c[i] = (p[i]

所谓”深拷贝”,就是能够实现真正意义上的数组和对象的拷贝。它的实现并不难,只要递归调用”浅拷贝”就行了。

function deepCopy(p, c) { var c = c || {}; for (var i in p) { if (typeof p[i] === 'object') { c[i] = (p[i].constructor === Array) ? [] : {}; deepCopy(p[i], c[i]); } else { c[i] = p[i]; } } return c; }

使用的时候这样写:

var WD = deepCopy(MED);

现在,给父对象加一个属性,值为数组。然后,在子对象上修改这个属性:

MED.skills = ['‘html’','css','Javascript']; WD.skills.push('teamwork');

这时,父对象就不会受到影响了。

console.log(WD.skills); //‘html’,'css','Javascript','teamwork' console.log(MED.skills); //‘html’,'css','Javascript'

目前,jQuery库使用的就是这种继承方法。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评