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

Javascript:闭环?

屈昊天
2023-03-14
问题内容

我想按照以下方式做一些事情:

for (var i = 0; i < 10; ++i) {
    createButton(x, y, function() { alert("button " + i + " pressed"); }
}

问题是我总是得到最终值,i因为Java语言的闭包不是按值的。
那么我该如何使用javascript呢?


问题答案:

for(var i = 0; i < 10; i++) {
(function(i) {
createButton(function() { alert(“button ” + i + ” pressed”); });
})(i);
}

请注意,JSLint不喜欢这种模式。它引发“不要在循环内创建函数”。



 类似资料:
  • 主要内容:什么是闭包,闭包的用途,闭包的高级用法闭包(closures)是 Javascript 语言的一个难点,也是它的特色,很多高级应用都是依靠闭包实现的。闭包与变量的作用域以及变量的生命周期密切相关,本节我们就来简单介绍一下。 什么是闭包 所谓闭包,指的就是一个函数。当两个函数彼此嵌套时,内部的函数就是闭包。 因为在 JavaScript 中,函数属于对象,对象又是属性的集合,而属性的值又可以是对象,所以我们可以在函数内部再定义函数。例如

  • 本文向大家介绍JavaScript闭包详解,包括了JavaScript闭包详解的使用技巧和注意事项,需要的朋友参考一下 在上一篇文章我们对预解释作了概述,在写这篇博文前打算写几个经典案例,考虑到那些案例综合性比较强,也就循序渐进的有了这篇博文,这样对于学习和深入JavaScript也更加容易入手。 序 一同事去面试,面试官问了一道题:你写一个闭包我看下?于是同事火速写出如下代码: 然后面试官摇摇头

  • 问题内容: 我需要在JavaScript源代码中添加一些轻量级语法糖,并使用基于JavaScript的构建系统对其进行处理。是否有任何用JavaScript编写的开源JavaScript解析器?在V8或类似的高性能JavaScript实现上运行时,它们是否相当快? 感谢您提供的任何指导! 问题答案: UglifyJS(JavaScript中的JS压缩器/美化器)包含一个完整的JavaScript解

  • 问题内容: 我希望能够在一定时间后或在特定事件(例如)后使用Javascript自动关闭警报框。从我的研究来看,内置函数似乎不可能实现。有没有办法覆盖它并控制它打开的对话框? 另外,我不希望显示隐藏的div作为警报的替代。我需要一个实际的对话框。 问题答案: 如前所述,您确实无法做到这一点。您可以使用UI框架在窗口内进行模式对话框,也可以具有弹出窗口,该脚本具有超时后自动关闭的脚本…每个方面都有负

  • 本文向大家介绍javascript闭包的理解,包括了javascript闭包的理解的使用技巧和注意事项,需要的朋友参考一下 1、首先我们要知道变量作用域链 变量的作用域分两种:全局变量和局部变量。没有定义到任何函数中的变量为全局变量,在函数中定义的变量为局部变量,注意在函数内部定义变量时一定要使用var关键字,不带var关键字的变量为全局变量。 javascript中每一段代码都有与之关联的作用域

  • 本文向大家介绍Javascript的闭包详解,包括了Javascript的闭包详解的使用技巧和注意事项,需要的朋友参考一下 前言:还是一篇入门文章。Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包 对于那些使用传统静态语言C/C++的程序员来说是一个新的语言特性。本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点 ECMAScript语言规范来使读