关于js中this关键字的补充

Posted 江天83

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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关键字的补充的主要内容,如果未能解决你的问题,请参考以下文章

vs 2010代码片段

vs 2010代码片段

关于JS中的this关键字

关于js里的this指向,函数的prototype,闭包理解

js常用代码片段

关于js----------------分享前端开发常用代码片段