31-【JS全解】JS总结

1.js公式

任意函数.__proto__===其构造函数.prototype

比如:

let a=[]

a.__proto__===Array.prototype
true
let a={}

a.__proto__===Object.prototype
true

2.根公理

Object.prototype是所有对象的直接或间接原型

比如:

a.__proto__.__proto__===Object.prototype
true

3.函数公理

所有函数都是由Function构造的

函数有Array,Object,Function

任意函数.__proto__===Function.prototype

比如:

Array.__proto__===Function.prototype
true
Object.toString.__proto__===Function.prototype
true

1.乱一

xxx的原型=.__proto__

比如:

bject.__proto__===Function.prototype
true

2.乱二

矛盾点:[1,2,3]的原型是其构造函数.prototype,即Array.prototype

​ 又说Object.prototype是所有对象的原型

原理:原型分为直接原型和间接原型

Array.prototype是数组的直接原型

Object.prototype是数组的间接原型

即普通对象是直接原型,数组、函数是间接原型

a.__proto__.__proto__===Object.prototype
true

3.乱三

Object.prototype是不是根对象

想一下:Object是个函数,函数都是由Function构造的,

但是我们不能说Function构造了Object.prototype,

因为只是构造了prototype对应的地址,没有构造出地址对应的对象

画一下js的顺序

在这里插入图片描述

总结

构造函数

是用于构造对象的函数,

会预先存好对象的原型

new的时候直接把对象的__p指向原型

对象

所有对象都直接或者间接指向根对象

如果对象要分类,就在原型链上加一环

用构造函数可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值