this小栗子(高程)

this对象在运行时基于函数的执行环境进行绑定。

全局函数中,this等于window

var name='san';

var obj = {

  name:'yu',

  getName:function(){

    return this.name

  }

}

obj.getName();//普通调用 yu

(obj.getName)()//对obj.getName的引用,yu

(obj.getName=obj.getName)();//san  执行了一条赋值语句,只是把函数赋值过去,没有进行计算,当需要计算时,就是在window环境中执行该函数

var name='san';

var obj = {

  name:'yu',

  getName:function(){

    var self = this;

    return self.name

  }

}

obj.getName()();//函数返回之后始终引用着obj的值 yu

如果要访问作用域中的this和argument对象,必须将该对象的引用保存到另一个闭包能够访问到的变量中

posted @ 2017-12-22 11:43  树叶————  阅读(132)  评论(0编辑  收藏  举报