call,apply,bind方法一般用来指定this的环境. var a = { user:"hahaha", fn:function(){ console.log(this.user); } } var b = a.fn; b(); //undefined 我们是想打印对象a里面的user却打印出来undefined是怎么回事呢?如果我们直接执行a.fn()是可以的. var a = { user:"hahaha", fn:function(){ console…
一.什么是this? this是JavaScript语言的一个关键字,它是函数运行时在函数体内部自动生成的一个对象,只能在函数体内部使用.函数的不同使用场合,this的指向不同. 在ES5中,this永远指向最终调用它的对象. 例1: 这里最终调用函数a的对象是全局window,相当于window.a(). 所以this指向window,this.name的值为全局变量name的值 'windowsName'. var name = "windowsName"; function a…