前端手写代码实现

64 阅读1分钟

这里有一些经常使用到的方法,但对它实现原理却一无所知,哪怕它实现起来是非常简单的。所以亲自动手写出它的实现过程,对你理解其中原理是很有帮助的。

浅拷贝

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)
}