作用域链和原型链

什么是作用域链:
作用域链是针对于变量的,作用域链的特点就是先在自己的变量范围中查找,如果找不到,就会沿着作用域往上找。

什么是原型链:
原型链是针对构造函数的,比如我先创建了一个函数,然后通过一个变量new了这个函数,那么这个被new出来的函数就会继承创建出来的那个函数的属性,然后如果我访问new出来的这个函数的某个属性,但是我并没有在这个new出来的函数中定义这个变量,那么它就会往上(向创建出它的函数中)查找,这个查找的过程就叫做原型链。
原型链还有一个特点,那么就是继承了,就跟CSS一样,如果自身没有定义那么它就会继承它的父级。
原型链:原型链是通过__proto__属性形成的,任何对象(普通对象和函数对象)都有__proto__属性。查找对象的某个属性的时候,首先在当前对象查找,如果没有去对象的__proto__中去查找,一直到最顶层null,这样形成的一条查找链就是原型链。

个人的理解:
原型链和作用域链只能里面往外面找不能外面往里面找,就比如说。儿子可以找爸爸,但是爸爸不能找儿子。

你可能感兴趣的:(javascript)