JavaScript--原型链

古语云:’基础不牢,地动山摇’,在提升自己的业务能力中,往往对一些基础性的知识没有做到深刻的认识,新技术固然给我们的开发提高了极大的便利,但追溯本源,我们更应该去关注这些新技术实现的底层运用了什么,在我们探索的过程中的同时也会不断地提高自己的能力。

Prototype $ Prototype Chain

面向对象编程时几乎每一个前端开发人员必须具备的开发思想,但是你真的理解什么是对象吗?
在JS中对象也是有区别的:普通对象 函数对象
Object\Function是JS自带的函数对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
funciton f1(){};
let f2 = function(){};
let f3 = new Function('str','console.log(str)');
let o1 = {};
let o2 = new Object();
let o3 = new f1();
console.log(typeof Object); //function
console.log(typeof Function); //function
console.log(typeof o1); //object
console.log(typeof o2); //object
console.log(typeof o3); //object
console.log(typeof f1); //function
console.log(typeof f2); //function
console.log(typeof f3); //function

o1,o2,o3 是普通对象,f1,f2,f3为函数对象;只要是通过new Function()创建的对象都是函数对象,其他的都是普通对象。

原型对象

我们经常会使用arr.push()来向数组添加元素,但我们并没有在我们手写的代码中向arr这个对象添加push这个方法(属性),那么arr对象是从哪里获取到这个属性或者方法呢?

首先我们先了解什么是原型对象

在JS中,当我们定义一个对象(函数)时,对象中都会包含一些预定的属性,这其中就

×

可以的话,我想喝杯咖啡续命

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. Prototype $ Prototype Chain
  2. 2. 原型对象
    1. 2.1. 首先我们先了解什么是原型对象