JavaScript语言中this指向研究
2021-10-18周虎
周虎
摘要:JavaScript逐渐从一门简单的脚本语言进化成为一门强大的面向对象编程语言,尤其在对象的this指向上,不仅借鉴了其他高级语言的优点,并结合自身灵活的编程能力,在程序运行中可以动态改变this指向。该文针对this在全局变量、函数、对象中的指向,以及通过apply、call和bind改变绑定对象后this的指向进行了深入的探讨并进行了总结归纳,便于读者更深层次的理解JavaScript中的this指向问题。
关键词:JavaScript;this;bind;apply;call
中图分类号:TP312 文献标识码:A
文章編号:1009-3044(2021)26-0162-02
开放科学(资源服务)标识码(OSID):
1 背景
JavaScript是面向Web的编程语言,其动态以及面向对象的编程风格使得它已经从一门简单的脚本语言进化成为一门强大的编程语言[1]。在高级语言面向对象编程过程中,都会用到this关键字,一般用来指向构建的对象,同样在JavaScript编程语言中,在很多情况下也会用到this关键字,this在其不同的上下文环境中,this的指向会各不相同,尤其在全局变量、函数和对象中的指向,以及通过apply、call和bind在改变绑定对象后this的指向问题,对于初学者来说很容易混淆,并因此可能导致程序错误。本文根据this在不同上下文环境中的指向问题进行分类探讨,便于读者对JavaScript中的this指向问题的理解和应用。
2 JavaScript中的this指向分析
在JavaScript语言中,使用到this关键字的上下文通常包括全局变量、普通函数、构造函数、对象函数和箭头函数,以及通过关键字apply、call和bind改变对象指向后this的指向。下面就不同情况下this的指向进行分析探讨。
2.1 全局变量和函数中this指向
在全局变量中,this默认指向的是window对……
