📁 手写 |
您所在的位置:网站首页 › js手写instanceof › 📁 手写 |
总览newinstanceofObject.create
总览
newinstanceOf Object.create new语法: newInstance(Fn, …args) 功能: 创建 Fn 构造函数的实例对象 function myNew(Fn, ...args) { const obj = {};obj.__proto__ = Fn.prototype; const result = Fn.apply(obj, args)// 如果Fn返回的是一个对象类型, 那返回的就不再是obj, 而是Fn返回的对象 return (typeof result === 'object' && result != null) ? result : obj// 最后一句也可以 return result instanceof Object ? result : obj} instanceof语法: myInstanceOf(obj, Type) 功能: 判断 ob j是否是 Type 类型的实例实现: Type 的原型对象是否是 obj 的原型链上的某个对象, 如果是返回 true, 否则返回 false function myInstanceOf(obj, Type) {let proto = Object.getPrototypeOf(obj)while(proto) { if (proto === Type.prototype) { return true } proto = Object.getPrototypeOf(proto)}return false} Object.createObject.create() 方法创建一个新对象,使用现有的对象来提供新创建的对象的proto Object.create = function (proto) { function F() { } F.prototype = proto; return new F(); };使用: // 子类继承父类的原型属性 Worker.prototype = Object.create(Person.prototype) Worker.prototype.constructor = Worker |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |