这里有一些经常使用到的方法,但对它实现原理却一无所知,哪怕它实现起来是非常简单的。所以亲自动手写出它的实现过程,对你理解其中原理是很有帮助的。
浅拷贝
function createObj(obj) {
let newObj = {}
for (let i in obj) {
newObj[i] = obj[i]
}
return newObj
}
深拷贝
方法一:
function createObj(obj) {
let newObj = {}
for (let i in obj) {
if (obj[i] instanceof Object) {
newObj[i] = createObj(obj[i])
} else {
newObj[i] = obj[i]
}
}
return newObj
}
方法二:
let newOBj = JSON.parse(JSON.stringfy(obj))
手写实现Typeof
function newTypeof(value){
Object.prototype.toString.call(value).slice(8, -1)
}