JavaScript 之原型链(入门 详细)

原型和原型链

1.几乎所有的函数都一个prototype(原型)属性,指向自己所属类的原型

箭头函数没有prototype,不能new; es6快捷函数

2.原型对象上一定有一个属性 constructor,指向自己的构造函数

3.静态的属性和方法,放在构造函数的键值对里面

4.所有的对象身上都有一个属性__proto__(原型链),指向实例所属类的原型

5.Object是所有类的基类

原型链查找机制:

先看自己的私有,有就停止;没有就沿着__proto__向上找,有就停止;没有就继续找,直到找到Object.prototype,没有就是没有

在原型上拓展方法

Array.prototype mypush---作用一样

链式调用

要求:上一步的返回值,必须是同一种类型,才能继续链式操作

想要实现一个需求:

var ary=[5,8,2,1,10] ;

想要让这个数组先排序,然后再倒序,然后再往里面添加一个10,然后再删除第一项;

instanceof

判断某个实例 属不属于 那个类

in

某个属性 是不是 某个对象的属性 (原型链查找机制)

只要沿着 原型链 能找到就是 true--->不论私有还是公有

hasOwnProperty

Object.prototype

检测某个属性 是不是 某个对象 的私有

私有和公有是相对的 不是绝对的

hasPubProperty

使用原型拓展方法 自己在原型上添加方法 hasPubProperty 检测某个属性 是不是 某个对象 的公有

有种特殊情况,某个属性既是公有又是私有

直接去公有区域里查找

Fn.prototype.hasOwnProperty("age") 或者 Object.prototype.hasOwnProperty("age")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值