美文网首页
javascript基础之闭包、立即执行函数、定时器

javascript基础之闭包、立即执行函数、定时器

作者: 芒果加奶 | 来源:发表于2017-07-05 16:56 被阅读0次

考验基础的时候到了,代码如下

var value1 = 0, value2 = 0, value3 = 0;
for ( var i = 1; i <= 3; i++) { 
    var i2 = i; 
    (function() {
        var i3 = i; 
        setTimeout(function() {
            value1 += i
            value2 += i2;
            value3 += i3; 
       }, 1);
    })();
}
setTimeout(function() {
    console.log(value1, value2, value3);
}, 100);

经典的闭包题,带着立即执行函数和定时器。实际运行结果如下

代码执行结果

知识点:

  • 定时器延迟时间,延迟时间越短,越先执行。
  • 立即执行函数内部定时器执行时,i=4,i2=3,i3在函数内部,保存值为每次定时器保存值。
  • 内部定时器执行时,调取每次保存的值赋值i3

相关文章

  • javascript基础之闭包、立即执行函数、定时器

    考验基础的时候到了,代码如下 经典的闭包题,带着立即执行函数和定时器。实际运行结果如下 知识点: 定时器延迟时间,...

  • [JavaScript基础] 作用域,立即执行函数,闭包

    作用域 scope 作用域链精解 [[scope]]:每个JavaScript函数都是一个对象,对象中有些属性我们...

  • javascript立即执行函数和闭包

    闭包 概念:当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链举例分析: 闭包的应用: 立即执行函数 ...

  • 关于立即执行函数IIFE

    [译] JavaScript:立即执行函数表达式(IIFE) IIFE保存闭包的状态 就像当函数通过他们的名字被调...

  • 后端程序员的 JavaScript 之旅 - 模块化(一)

    基础模式 匿名闭包 匿名闭包是很常用的代码隔离方式,声明匿名对象并立即执行。匿名函数中声明的变量和方法以及匿名函数...

  • 理解闭包

    什么是「闭包」。 「闭包」的作用是什么。在一个立即执行函数当中: 首先,假设以上几行代码运行在立即执行函数当中,那...

  • JavaScript难点

    原文链接 1、涉及知识点 JavaScript运行过程、预编译、执行期上下文、作用域、作用域链、立即执行函数、闭包...

  • es5核心技术

    立即执行函数 函数提升和变量提升 闭包 this 原型链实现继承

  • js 代码模块化

    JavaScript代码模块化 隐藏模块内部实现 定义模块接口 解决依赖关系 利用对象、闭包和立即执行函数实现模块...

  • <jQuery>总结:知识点

    一、jQuery基础和原理: 1、jQuery的本质是一个闭包: 闭包:一种立即执行的函数 说明:方式一和方式二的...

网友评论

      本文标题:javascript基础之闭包、立即执行函数、定时器

      本文链接:https://www.haomeiwen.com/subject/gpuqhxtx.html