导航

原型链类

Posted on 2018-09-24 22:02  陈岩  阅读(118)  评论(0编辑  收藏  举报

1、创建对象的几种方法

// 第一种方式:字面量
var o1 = {name:'o1'};
var o2= new Object({name:'o2'});
// 第二种方式:通过构造函数
var M = function(name){this.name=name};
var o3 = new M(o3);
// 第三种方式:Object.create方法
var p={name:'p'};
var o4=Object.create(p);

2、new发生了什么

1 //模拟new的过程
2 var new2 = function(func){
3     var o=Object.create(func.prototype);
4     var k = func.call(o);
5     return typeof k === 'object'? k:o;
6 }

 3、instanceof 原理

判断的是实例对象的proto和构造函数的prototype是不是一个地址,是就返回true。在原型链上的都会返回true