在Javascr ipt 中,this的指向是动态变化的,很可能在写程序的过程中,无意中破坏掉this的指向,所以我们需要一种可以把this的含义固定的技术,于是就有了call,apply 和bind这三个方法,来改变函数体内部 this 的指向,因为函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念
apply、call
apply:应用某一对象的一个方法,用另一个对象替换当前对象
call:调用一个对象的一个方法,以另一个对象替换当前对象
function pe
大家在使用Javascr ipt的时候经常被this这个家伙搞得晕头转向的。对大多数有OOP开发经验的开发人员来说this是当前作用域中引用普通元素的标识符,但是在Javascr ipt中它却显得古灵精怪的,因为它不是固定不变的,而是随着它的执行环境的改变而改变。在Javascr ipt中this总是指向调用它所在方法的对象。
举一个简单的例子:
代码如下:
function test(){
alert(this);
}
var obj=function(){
var name=’testOb