问题标签 [self-executing-function]
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 - 通过 JS 自执行函数在 Head 中创建文本节点时遇到问题
这是我第一次使用自动执行的匿名函数,但是,我相信我错过了一些基本的和就在我面前的东西。本质上,我试图通过函数'writeFontFace()'传递一个参数,并让它在我的文档头部写入以下代码,如下所示:
现在,如果我取消注释该函数末尾的“return”语句(writeFontFace),我确实收到了我期望收到的适当输出,但是(无论出于何种原因),它没有附加“脚本”变量(包含前面提到的@font-face 定义)在我的文档头部?不能完全弄清楚为什么。任何建议和/或评论都将不胜感激......再说一次,这是我第一次使用自动执行的匿名函数,因此,如果有人觉得他们可能有一些建设性的批评,我将不胜感激和/或建议。与往常一样,提前非常感谢。
~ 干杯
自执行匿名函数
/li>
javascript - 我怎样才能使函数被执行?
我写了下面的脚本。它适用于我的 html 编辑器。但是,在实际网站上查看,该功能不运行,显示 innerHTML 空白。我该如何解决?这个问题是我需要看到的关于自动执行功能的东西吗?
javascript - 在 IIFE 中访问构造函数
通常,在 JavaScript 中,我会看到一个匿名函数,它会立即被调用,其中包含一个构造函数。像这样的东西:
这似乎是有益的,因为它创建了一个闭包(?),因此您可以将函数内的变量与全局作用域分开。我无法理解的是如何从全局范围内访问此构造函数。例如,假设上面的代码包含在一个 JavaScript 文件中,该文件被带入一个带有 script 标签的 HTML 文档。现在,在文档中(在另一个脚本标记中)如何使用匿名函数中的构造函数实例化一个对象?
javascript - NodeJS - 如何在自执行函数中将构造函数分配给 module.exports?
我正在尝试在 NodeJS 的自执行函数中分配一个构造函数。我很确定它不起作用,因为我的参数是一个指向 module.exports 的变量,但我很好奇是否有办法让它工作,同时尽可能接近自执行格式。
这是代码的调用方式...
这是一个运行良好的代码示例......
这是我想使用的代码样式的示例,但会产生“TypeError:Object is not a function”错误,因为我实际上并没有分配给module.exports,只是一个复制了它所指向的变量到。
有没有办法让我使用上述自执行格式并让我的模块导出构造函数?
javascript - 消除自执行匿名函数中未定义的 TypeError
我有一个脚本,它给我以下错误:' TypeError: clickables[ic] is undefined ' 当我用 Firebug/in 浏览器控制台检查它时。我是一个 javascript 初学者,正在尝试学习如何用 vanilla javascript 做事,所以我正在专门寻找一个解决方案。
问题:如何摆脱/消除未定义的 TypeError?
脚本应该做什么:
我正在使用它来显示隐藏元素,其显示属性设置为无。该脚本应该获取文档.item-reveal中特定类的所有实例,并将其与具有该类的每个项目都给出的唯一 ID 连接起来,以形成一个新类以通过getElementsByClassName进行搜索。带有.item-reveal的项目类是被点击的项目,未隐藏/显示的项目具有 .ID-reveal-item 类(可点击元素的唯一 ID,后跟 .item-reveal 类名,为了简单的约定)。ID根本不用于stying,它只是基于可以应用于任何一对元素的命名约定创建一个唯一的类:一个被点击的,一个通过创建/更改取消隐藏/隐藏显示属性的样式。
脚本的作用:
目前,该脚本实际上会在单击时显示项目,并在后续单击时再次隐藏它们,并且它适用于多个项目。所以,它基本上是有效的。我只是无法弄清楚' TypeError: clickables[ic] is undefined ' 问题以及如何摆脱它。使用开发人员工具时,我可以在多个浏览器中获得它。
该脚本是对自动执行匿名函数之类的尝试,所以我知道约定有点不同,但我想坚持下去,这样我就可以将它应用于未来的其他用途。启发它的文章可在此处找到:
http://esbueno.noahstokes.com/post/77292606977/self-executing-anonymous-functions-or-how-to-write
例子:
HTML
CSS
javascript:
该脚本通过 SCRIPT 标记链接,就在结束 BODY 标记之前。我已经尝试使用 Async 和 Defer 属性,在 HTML 文档中使用和不使用其他脚本,结果是一样的。我尝试添加一个事件处理程序以确保它不是仍在进行的 DOM 加载,但我不确定如何真正测试它以查看它是否真的在做任何事情。单元测试是我刚刚开始尝试熟悉的东西。
在一个完全不相关的行业工作了几年后,我正在努力清理技能,所以去年一直在追赶 Web 开发技术,学习响应式设计和 HTML5 数据,并尝试学习 javascript。我已经搜索、阅读和购买了几本电子书/书籍,这是我遇到的少数几次我无法弄清楚的事情之一。我想这对于具有正式编程/脚本知识的人来说可能是简单而明显的事情,但我是电子商务专业的,并且网络、营销、服务器/系统支持、布线、HTML/CSS 等都是我感到舒服的地方。非常感谢任何帮助,但请记住,我正在尝试在没有 jQuery 的环境/项目中实现这一点,可以选择。谢谢!
javascript - 自执行代码中的“this”
为什么这里的“this”对于对象的成员函数内部的自执行代码(窗口/全局范围)不同?
我得到以下输出:
func 是 myObj 对象的成员函数。其中的“this”必须是 myObj 对象。那么它内部的自执行函数如何将“this”作为窗口对象?
javascript - 自执行匿名函数语法
我经常像这样编写我的 JS 自我执行匿名函数
但前几天我在某人的代码中看到了这个
有什么区别,推荐一个而不是另一个?
javascript - 如何在构造函数中添加自执行函数
我创建了一个构造函数
到这里为止都很好,但是我想在一个自我执行的函数中添加它,当我用 new 关键字创建这个对象时,它会做一些事情可能看起来像这样
当我创建一个新对象时,我想运行一个自执行函数。那么我该怎么做像我上面写的那样
javascript - 在递归 JQuery/Javascript 自执行函数中设置变量(轮询)
我需要在递归自执行 JQuery 脚本中设置一个具有初始值的变量 ( tick) 。当我尝试运行下面的脚本时,显然tick将恢复为 0 而不是 JSON 对象返回的值。
同样由于某种原因,当我勾选声明时,该函数在第一次轮询之前等待整个 10 秒。如果我尝试在函数之外声明tick,则页面上的所有其他脚本都会冻结。
我在哪里声明 tick 以便第一次调用页面时将其设置为 0,然后从返回的 JSON 对象中获取值?
更新:好吧,花了大部分 Eloquent Javascript 书和 7 个 Douglas Crockford 视频来找出问题所在,但我没有意识到 Javascript 是单线程的。我已经阅读了很多其他人的编码,但我并没有真正想到他们的脚本通常会运行一次然后继续下一个。我的“事件循环”正在阻止其他脚本运行,是的,函数本身应该在外部具有变量。
我最终使用 iFrames(非公开的、单一界面的应用程序,因此安全性不是问题)只是为了让它运行,现在正在寻找未来构建的网络工作者。感谢您到目前为止的答案。
javascript - JavaScript:带参数的自执行函数
CodeMirror.net 使用这个结构(我稍微简化了一点)来介绍它的 JavaScript 编辑器的代码:
现在,我知道这是一个自执行功能,并且我已经阅读了许多关于它们的帖子。我知道,在实践中,这段代码正在创建一个 CodeMirror 对象。我只是不懂机械。
- 参数(mod)的作用是什么?更广泛地说,当您为自执行函数提供参数时,这意味着什么?
- 内部 function() 声明的作用是什么?看来这在某种程度上与mod有关?
谢谢你的帮助。