javascript 原型链和继承(2)

来源:互联网 发布:如何关闭4g网络 编辑:程序博客网 时间:2024/04/30 11:28

javascript 原型链和继承

作用域

var a = 1;function b(){    var a = 2;    function c(){        var a = 3;        console.log(a);    }    c();}b();//执行结果:3

作用域是针对变量的,比如我们创建了一个函数,函数里面又包含了一个函数,那么现在就有三个作用域
优先在函数c的作用域中找,找不到就去b的作用域找,如果找不到就去全局作用域找,直到找到为止.
作用域的优先级:函数c>函数b>全局作用域
但是在函数b中,不能访问函数c中的变量或函数.
打个比方:
你家里来了客人,客人不能进入你的房间,只能呆在客厅,
客人类似于b,你类似于c,你既可以访问你自己的房间,也可以访问客厅.
作用域
总结:作用域越小,优先级越高;小作用域找不到的就会去较大作用域中找,直到找到或者进入全局作用域.

原型链

var Person=function(name){    this.name = name;};Person.prototype.sayName=function(){            console.log(this.name); }var personOne=new Person("xl");

当调用personOne.sayName 时,优先在personOne中找,
若找不到就去Person.prototype中找,若找不到,则去Object.prototype中找:
原型链

参考:
javascript 原型链和继承(1)

0 0
原创粉丝点击