前端手写题系列1

59 阅读1分钟

这个系列我开始分享一些前端手写题,如有错误请指出。


手写题

1.手写Object.create

创建一个新对象,让现有对象作为新对象的原型

// 将传入对象变为原型
function create(obj) {
    function F() { }
    F.prototype = obj
    return new F()
}


let f = create({
    a: '1'
})

2.判断数据类型

JavaScript中的数据类型有Number、undefined、Null、Boolean、String、Object、bigInt、Symbol,可以使用typeof来判断数据类型,但是typeof只能判断基本数据类型,instanceof只能判断引用数据类型并返回一个Boolean值。
可以使用Object.prototype.toString.call来判断数据类型

function typeOf(obj) {
    return Object.prototype.toString.call(obj).slice(8, -1)
}

本文由mdnice多平台发布