您现在的位置:首页 >> 前端 >> 内容

原型和闭包

时间:2017/6/27 11:10:00 点击:

  核心提示:原型和闭包匿名函数:function后面没有标识符。匿名函数中this指向window闭包:有权访问另一个作用域中的变量的函数。有两种情况:函数作为返回值(在一个函数内部创建另一个函数),函数作为参数...

原型和闭包

匿名函数:function后面没有标识符。匿名函数中this指向window

闭包:有权访问另一个作用域中的变量的函数。有两种情况:函数作为返回值(在一个函数内部创建另一个函数),函数作为参数传递

每个函数function都有一个prototype,即原型。这里再加一句话——每个对象都有一个proto,可成为隐式原型。

访问一个对象的属性时,先在基本属性中查找,如果没有,再沿着proto这条链向上找,这就是原型链。

在函数体的语句执行之前,arguments变量和函数的参数都已经被赋值。从这里可以看出,函数每被调用一次,都会产生一个新的执行上下文环境。

在函数中this到底取何值

一。如果函数作为构造函数用,那么其中的this就代表它即将new出来的对象。如果直接调用函数,就是window

二。函数作为对象的一个属性。如果函数作为对象的一个属性时,并且作为对象的一个属性被调用时,函数中的this指向该对象。

如果fn函数被赋值到了另一个变量中,并没有作为obj的一个属性被调用,那么this的值就是window(此时已经属于匿名函数了)

三。函数用call或者apply调用。this的值就取传入的对象的值

四。全局和调用匿名函数。this指向window

作者:网络 来源:lxj1137800