当前位置: 首页 > 面试题库 >

此自调用匿名函数变体背后的原因

文彭祖
2023-03-14
问题内容

在github上查看代码时,我发现了以下内容:

(function() {

}).call(this);

显然,这是一个自我调用的匿名函数。但是为什么这样写呢?我曾经看过规范的变体(function() {})()

使用.call(this)自调用匿名函数有什么特别的好处吗?

编辑:看起来像一些commonjs环境this在模块的顶层设置为非全局值。this您可能想要保留哪些内容,以及将它们设置为什么?


问题答案:

.call(this)(实际上只是()在更改之前),this通过严格的模式,--bare选项和/或运行环境(顶层this未指向全局对象)来确保顶层保持一致。



 类似资料:
  • php版本: 5.4 我定义了一个这样的函数 输出是 如何在的正文中引用。

  • 本文向大家介绍什么是JavaScript中的自调用匿名函数?,包括了什么是JavaScript中的自调用匿名函数?的使用技巧和注意事项,需要的朋友参考一下 在JavaScript中,用括号括起来的函数称为“立即调用函数表达式”或“自执行函数”。 包装的目的是为了命名空间并控制成员函数的可见性。它将代码包装在函数范围内,并减少了与其他库的冲突。这就是我们所说的立即调用函数表达式(IIFE)或自执行匿

  • 问题内容: 我在玩PHP中的匿名函数,并意识到它们似乎并没有到达它们之外的变量。有什么办法可以解决这个问题? 例: 这将输出“无”。匿名函数有什么方法可以访问? 问题答案: 是的,使用闭包: 请注意,为了使您能够在匿名函数范围之外修改和检索修改后的值,必须在闭包中使用对其进行引用。

  • 我在PHP中使用匿名函数,发现它们似乎无法访问外部变量。有什么办法可以绕过这个问题吗? 示例: 这将输出“nothing”。匿名函数有没有办法访问变量?

  • 本文向大家介绍JavaScript中匿名函数的递归调用,包括了JavaScript中匿名函数的递归调用的使用技巧和注意事项,需要的朋友参考一下 不管是什么编程语言,相信稍微写过几行代码的同学,对递归都不会陌生。 以一个简单的阶乘计算为例: 我们可以看出,递归就是在函数内部调用对自身的调用。 那么问题来了,我们知道在Javascript中,有一类函数叫做匿名函数,没有名称,怎么调用呢?当然你可以说,

  • 本文向大家介绍js自调用匿名函数的三种写法(推荐),包括了js自调用匿名函数的三种写法(推荐)的使用技巧和注意事项,需要的朋友参考一下 第一种: 第二种:  第三种: 以上这篇js自调用匿名函数的三种写法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。