手游门户网站建设,公司年会活动方案策划,本地数据库搭建网站,泰安爆炸最新消息今天是什么#xff1f;
prototype#xff08;显示原型#xff09;#xff1a;每个函数都有一个prototype属性__proto__#xff08;隐式原型#xff09;#xff1a;每个实例对象都会有__proto__属性
两者有什么关系#xff1f; 一般#xff0c;构造函数的显示原型和其实例…是什么
prototype显示原型每个函数都有一个prototype属性__proto__隐式原型每个实例对象都会有__proto__属性
两者有什么关系 一般构造函数的显示原型和其实例对象的隐式原型是指向同一个地方的这个地方叫做原型对象
//构造函数
function Person(){}
//p1实例对象
let p1 new Person()
console.log(Person.prototype p1.__proto__) // true 在js中有一句话叫万物皆对象那也可以理解成在js中万物都包含__proto__属性吧
let num 1
console.log(num.__proto__ Number.prototype) //true
let str abc
console.log(str.__proto__ String.prototype) //true
let n true
console.log(n.__proto__ Boolean.prototype) //true
let obj {}
console.log(obj.__proto__ Object.prototype) //true
function fn(){}
console.log(fn.__proto__ Function.prototype) //trueconsole.log(Object.__proto__ Function.prototype) //true
console.log(Number.__proto__ Function.prototype) // true
console.log(Function.__proto__ Function.prototype) //true 可以看出
number类型的数据是Number构造函数的实例函数是Function构造函数的实例Object、Number、function Function()等其实本质上也是一个函数所以他们也都是Function构造函数的实例Object的隐式原型是null
面试题什么是原型什么是原型链
原型原型分为显示原型和隐式原型每个对象都有一个隐式原型它指向自己的构造函数的显示原型
原型链就是多个实例对象的__proto__组成的集合
所有实例的__proto__都指向他们构造函数的prototype所有的prototype都是对象自然他们的__proto__指向Object()的prototype所有的构造函数的隐式原型指向的都是Function()的显示原型Object的隐式原型是null