当前位置:Gxlcms > JavaScript > 有关JavaScript严格模式下this的指向问题详解

有关JavaScript严格模式下this的指向问题详解

时间:2021-07-01 10:21:17 帮助过:10人阅读

除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。下面这篇文章主要给大家介绍了在JavaScript严格模式下关于this的几种指向的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

相信不少人在学习或者使用Javascript的时候,都曾经被 JavaScript 中的 this 弄晕了,那么本文就来整理总结一下在严格模式下 this 的几种指向。

一、全局作用域中的this

在严格模式下,在全局作用域中,this指向window对象


二、全局作用域中函数中的this

在严格模式下,这种函数中的this等于undefined


三、 对象的函数(方法)中的this

在严格模式下,对象的函数中的this指向调用函数的对象实例


四、构造函数的this

在严格模式下,构造函数中的this指向构造函数创建的对象实例。


五、事件处理函数中的this

在严格模式下,在事件处理函数中,this指向触发事件的目标对象。

六、内联事件处理函数中的this

在严格模式下,在内联事件处理函数中,有以下两种情况:

 <button onclick="alert((function(){'use strict'; return this})());">
 内联事件处理1
 </button>
 <!-- 警告窗口中的字符为undefined -->
 
 <button onclick="'use strict'; alert(this.tagName.toLowerCase());">
 内联事件处理2
 </button>
 <!-- 警告窗口中的字符为button -->

以上就是有关JavaScript严格模式下this的指向问题详解的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行