js中的this理解

来源:互联网 发布:大数据工程师做什么 编辑:程序博客网 时间:2024/06/06 00:40

this看起来理解很简单,就是当前对象,那么在使用的时候,经常会犯错误,确定不了this指向是哪个对象。

在函数里面:

function Person()

{

     this.name = name;

}

var p = new Person(); //那么此时this指向的就是这个p对象


$.ajax({

....

里面的this指的就是ajax对象。

})

看起来this指的是当前作用域的一个对象,也可以说叫上下文对象。


看了函数的调用,最终的正常调用形式是:

func.call(context,params)

那么这里的context就是this.       this指向被调用者。

function show()

{

console.log(this);

}

show();

等价于:

show.call(undefined);

打印出来应该是undefined,但是浏览器的规则是:如果你传入的context是null或者undefined,那么context就是window对象。

this指向被调用者,这里,show()是在window函数下调用的,所以this指向的就是window对象。

this就是你call一个函数时,传入的context对象.

原创粉丝点击