iife相关内容

JavaScript 中变量阴影的正确术语是什么?

下面我们有一个 IIFE(像任何函数)创建一个局部作用域.在该范围内有一个 parseInt 函数.现在,由于浏览器中已经有一个具有该名称的全局函数,本地函数将掩盖全局 parseInt 函数 - 在 IIFE 中,任何对 parseInt 的调用都将调用局部函数,而不是全局函数.(全局函数仍然可以用 window.parseInt 引用.) parseInt('123', 10);//调用浏览 ..
发布时间:2022-01-04 11:18:10 前端开发

将整个 Javascript 文件包装在像“(function(){ ... })()"这样的匿名函数中的目的是什么?

我最近阅读了很多 Javascript,我注意到整个文件在要导入的 .js 文件中如下所示. (function() {...代码...})(); 这样做而不是一组简单的构造函数的原因是什么? 解决方案 通常是为了命名空间(见下文)并控制成员函数和/或变量的可见性.把它想象成一个对象定义.它的技术名称是立即调用函数表达式 (IIFE).jQuery 插件通常是这样写的. 在 Ja ..
发布时间:2022-01-04 11:16:12 前端开发

javascript中两个模块声明有什么区别?

JavaScript 中模块的两个声明有什么不同?一个在函数周围有括号,另一个没有? 一篇文章说 注意匿名函数周围的 ().这是国务院要求的语言,因为以标记函数开头的语句是总是被认为是函数声明.包括 () 创建一个代替函数表达式. 两者在检查时似乎都在做同样的事情. var person = (function() {//私人的var name = "罗伯特";返回 {获取名称 ..
发布时间:2021-12-29 13:44:44 前端开发

在 JavaScript 中,!function(){}() 比 (function () {})() 有什么优势?

可能的重复: 感叹号在函数前有什么作用? 我长期以来一直将以下代码用于 JavaScript 中的自执行匿名函数: (function () {/* 魔法发生 */})() 最近,我开始看到更多以下模式的实例(例如,在 引导程序): !function () {/* 大概发生了同样的魔法 */}() 有谁知道第二种模式的优点是什么?或者,这只是一种风格偏好? 解决方案 这两 ..
发布时间:2021-12-22 09:07:31 前端开发

这种做法在 JavaScript 中称为什么?

当您将 JavaScript 代码包装在这样的函数中时: (function(){var 字段 = ...;函数 doSomthing(){......})(); 我注意到这为我解决了很多网页上的范围界定问题.这种做法叫什么? 解决方案 该模式称为自调用,一个自调用函数.它可以创建一个闭包,但这是模式的效果(也许是预期的效果),而不是模式本身. ..
发布时间:2021-12-22 08:38:39 前端开发

高级 JavaScript:为什么这个函数用括号括起来?

可能的重复: JavaScript 中的 (function() { } )() 构造是什么? 我遇到了这段 JavaScript 代码,但我不知道该怎么做.为什么运行此代码时会得到“1"?(1)的这个奇怪的小附录是什么,为什么函数用括号括起来? (函数(x){删除 x;返回 x;})(1); 解决方案 这里有一些事情要做.首先是立即调用函数表达式 (IIFE) 模式: (func ..
发布时间:2021-12-07 23:14:20 前端开发

JavaScript 函数表达式前的加号

我一直在寻找有关立即调用函数的信息,并且在某处偶然发现了这个符号: +function(){console.log("Something.")}() 有人可以向我解释一下函数前面的 + 符号是什么意思吗? 解决方案 它强制解析器将 + 后面的部分视为表达式.这通常用于立即调用的函数,例如: +function() { console.log("Foo!");}(); 如果没有 + ..

!function(){ }() vs (function(){ })()

在查看一些用 Twitter Bootstrap Javascript 编写的代码时,看起来他们正在调用这样的立即调用的匿名函数: !function( $ ) {...}(window.jQuery || window.ender); 传统上我看到同样的事情是通过这种方式完成的: (function($) {...})(window.jQuery || window.ender); 第一 ..
发布时间:2021-12-07 21:48:04 前端开发

JavaScript 中的 (function() { } )() 构造是什么?

我曾经知道这是什么意思,但我现在很挣扎... 这基本上是在说 document.onload 吗? (函数(){})(); 解决方案 这是一个 立即调用的函数表达式,或IIFE 简称.它在创建后立即执行. 它与任何事件的任何事件处理程序无关(例如 document.onload). 考虑第一对括号内的部分:(function(){})();....它是一个正则函数表达式.再看最 ..
发布时间:2021-11-30 21:46:07 前端开发

立即调用函数表达式 (IIFE) 与不调用

我看到很多类似的代码: var myApp ={};(功能() {console.log("你好");this.var1 = "标记";//"this" 是全局的,因为它在加载时立即运行.呼叫者是全球性的myApp.sayGoodbye = function() {console.log("再见");};})(); 这会导致匿名函数立即执行.但是,与仅将代码内联相比,这样做的优势是什么? v ..
发布时间:2021-11-28 17:41:54 前端开发

为什么需要在同一行调用匿名函数?

我正在阅读一些关于闭包的帖子,到处都看到了这个,但没有明确的解释它是如何工作的 - 每次我都被告知要使用它......: //创建一个新的匿名函数,用作包装器(功能(){//通常是全局的变量var msg = "感谢访问!";//将一个新函数绑定到一个全局对象window.onunload = 函数(){//使用“隐藏"变量警报(味精);};//关闭匿名函数并执行})(); 好的,我知道我们将 ..
发布时间:2021-11-10 23:27:07 前端开发

自动执行匿名 JavaScript 函数的括号位置?

我最近比较了 json2.js 与我在项目中使用的版本相比,我注意到函数表达式的创建和自执行方式有所不同. 用于将匿名函数包裹在括号中然后执行的代码, (函数(){//代码在这里})(); 但现在它将自动执行的函数包装在括号中. (函数(){//代码在这里}()); 在解释JavaScript的封装匿名函数语法的接受答案中,CMS有一条评论 表明“(function(){})(); ..
发布时间:2021-11-10 23:27:04 前端开发

JavaScript IIFE

我承认我对 JavaScript 很陌生,但每次我认为我得到它时,一些奇怪的曲线球让我立刻离开,这无济于事. 我有一个类似这样的 js 文件: (function (myiife, $) {var myArrayOfThings = [];myiife.myFunction = 函数 (id) {var cachedThing = myiife.getFromArray(id);if (c ..
发布时间:2021-07-16 21:40:00 前端开发

对于IIFE,这些微小的语法变化有区别吗?

有时候我看到了: (function(){alert("hi");})(); 有时我会看到: (function(){alert("hi");}()); 请注意函数对象的结束括号的位置. 有什么区别?我不知道.出于任何原因都可以选择吗? 编辑: 此外,这不起作用: function(){alert("hi");}(); 这似乎很奇怪,因为如果用括号括起来,它是 ..
发布时间:2021-05-19 20:49:02 前端开发