问题标签 [iife]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JavaScript IIFE
我承认我在 JavaScript 方面还很不成熟,而且每次我认为我得到它的时候,一些奇怪的曲线球都会让我马上离开,这并没有帮助。
我有一个类似这样的 js 文件:
真正让我困惑的是期望能够调用事物的正确方法。我想我真的不了解事情的范围,而且我很难说实话。
如果我想从页面调用 myFunction 是否应该看起来像这样?
我已经阅读了有关范围的内容,但显然在我对这一切的理解中仍然缺少一些非常基本的东西。
从我看到的示例中,我看不到其他似乎必须在函数名称前面加上iife
名称才能从页面执行事物的示例。
任何好的推荐阅读也将不胜感激。
javascript - JavaScript IIFE 使用外部本地化/语言代码
我正在尝试使用 IIFE 和语言文件来使我的代码本地化。问题是 IIFE 一直说语言代码中的变量不存在。我试图弄清楚为什么,如果有人可以向我解释一下为什么以及我应该如何去做,那就太棒了!
例子
IIFE-
语言代码-
尽管日志记录不起作用并且 lang 是“未定义的”,但我已经尝试了很多方法来使其正常工作,尽管我尝试过的任何东西都不足。
这是一个举个例子的小提琴,我使用 jQuery CDN 进行测试
javascript - Javascript IIFE 作为对象的属性(方法)
我正在尝试使用 IIFE 作为一种方法(这可能是错误的)。
为什么 ?因为,我正在尝试实现代理设计模式。
在 adobe extendscript 中,有一个“app”对象可以访问文档等,例如 -
现在,我想在“app”周围放置一个代理。所以我创建了一个代理对象 -
但是现在,这就是我必须访问它的方式 -
但这就是我想要访问它的方式 -
所以我读到了关于 IIFE 的文章,最后做了这个——
正如预期的那样,AppProxy.activeDocument会在定义AppProxy时自动调用,即使在它达到var length = AppProxy.activeDocument.length 之前。
那么,当 AppProxy 被定义为对象文字时,如何防止这种情况发生?我的要求有解决方法吗?
谢谢。
javascript - 我应该使用 IIFE 还是 window onload 来初始化?
以下两个代码片段都有效:
在 js 文件中使用 IIFE:
在 html 文件中调用initialize()
窗口加载事件:
一种比另一种更好的方法吗?在性能或其他方面?就目前而言,我更倾向于向窗口对象添加事件侦听器,因为它更具可读性。
javascript - Javascript 为什么要在 IIFE 中包装变量或构造函数?
我今天看到了这样的东西
我不明白这一点与仅仅摆脱 iife 包装器相比有什么意义。
javascript - 我在哪里可以找到更多关于一种 javascript 语法的信息?
javascript中这种类型的语法是什么?
和这个
我想搜索以了解它们,但我不知道我在搜索什么。
此外,如果有人可以提供有用的资源的链接,那就太好了。
javascript - JavaScript:为什么要使用 IIFE 来定义对象示例(又名“类”)?
我一直在玩 TypeScript,我注意到它遵循 JS 的特定风格。
以下打字稿:
像这样生成 JS:
IIFE 有什么好处?为什么我需要将我的方法附加到新范围内的原型?
如果我继续这样做,我会失去什么吗:
(就像我一直做的那样)而不是?
javascript - 使用 iife 的 Javascript 对象继承
我正在将 IIFE 用于 HTML5/CSS3/JS 网络小部件游戏。为此,我想创建专门的异常对象,它们是单个对象的后代。我在尝试不可能的事情吗?
到目前为止的代码是
当我查看控制台时,我得到了undefined: blah
,RefException
继承原型函数也是如此,但不是命名空间变量title
。我错过了什么吗?
javascript - 为什么不是 (function(){}()); 工作,但 window.onload 是?
前几天我在试验 javascript,想看看某个函数是否可以工作。所以我做了我的HTML:
(当然,在实际文档中我已经设置了我的文档类型并创建了 html 标签等等)
然后写了我的javascript(正确链接到头部):
现在,我打开了我的 html,有点困惑为什么我<p>
没有包含任何文本,所以我想也许IIFE没有在页面加载时运行,所以我尝试了其他方法:
再次打开,发现当时 javascript 运行良好;控制台像往常一样打印了“Hi There”。我现在有点困惑,所以我尝试了:
这一切都很完美!该段落包含“您好”,就像它第一次应该(嗯,我想是这样)一样!
谁能解释这种荒谬的行为?为什么不(function(){/*stuff*/}());
工作.innerText
?
javascript - JavaScript 匿名函数表达式 vs IIFE
遇到了一些在表达式中使用 IIFE 而不仅仅是普通函数的代码。
通常我会这样写:
IIFE的原因是什么?我唯一能想到的是,IIFE 可能custom_type
在开始时只分配一次变量,而第二次可能会在每次引用变量时继续检查更新的类型。