首页 > 代码库 > 关于js中this关键字的补充

关于js中this关键字的补充

前面:

前面虽然综合了网络上不少大牛的心得,但感觉还是意犹未尽,为了彻底搞清楚js中this的相关知识,决定再写一篇。个人觉得,在技术上,除非钻到细枝末节,否则很难达至非常高的水平。 

 

补充1:

无法重写this,因为它是一个关键字。

 

补充2:

 pasting

$(function () {
   $(‘button‘).click(function () {
       alert(this);//this 表示原生的DOM
       $(this);//表示当前对象,这里指的是button
   }) 
})
this,表示当前的上下文对象是一个html DOM对象,可以调用html对象所拥有的属性,方法。
$(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值。


补充3:

this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁实际上this的最终指向的是那个调用它的对象,这句话有些问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的。 

 

补充4:

alert也是window的一个属性,也是window点出来的。比如在window环境中执行alert(this),结果是:

[object Window]

 

关于js中this关键字的补充