js闭包中的this(匿名函数中的this指向的是windows)
2021-02-07 16:16
标签:call() 保存 作用 使用 cal 特殊变量 app 通过 改变 1.普通函数中的this指向的是对象,匿名函数中的this指向的是windows,和全局变量一样 2.让匿名函数中的this指向对象的两种方法 可以使用对象冒充强制改变this:call()、apply() 将this赋值给一个变量,闭包可以访问这个变量 一、this问题 匿名函数的执行环境具有全局性,因此其this对象通常指向window(当然,在通过call()或者apply()改变函数执行环境的情况下,this就会指向其他对象) 为什么匿名函数没有取得其包含作用域(或外部作用域)的this对象呢? 每个函数在被调用时都会自动取得两个特殊变量:this和arguments。内部函数在搜索这两个变量时,只会搜索到其活动对象为止,因此永远不可能直接访问外部函数中的这两个变量。 二、解决方法 (1)把外部作用域中的this对象保存在一个闭包能够访问到的变量里,就可以让闭包访问该对象了。 2 可以使用对象冒充强制改变this:call()、apply()
js闭包中的this(匿名函数中的this指向的是windows) 标签:call() 保存 作用 使用 cal 特殊变量 app 通过 改变 原文地址:https://www.cnblogs.com/psxiao/p/11378681.html
上一篇:Windows下安装g++教程
下一篇:Delphi 动态链接库编程
文章标题:js闭包中的this(匿名函数中的this指向的是windows)
文章链接:http://soscw.com/index.php/essay/52256.html