JavaScript 闭包问题

标签 javascript

为什么这不触发:

var counter = function () {

    return function() {
        alert('Fire!');
    }
}

counter(); 

但这确实:

var counter = function () {

    return function() {
        alert('Fire!');
    }
}

var test = counter(); 
test();

似乎将函数分配给变量会有所不同,但为什么呢?

最佳答案

尝试调用返回的函数

counter()(); 

关于JavaScript 闭包问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15152357/

相关文章:

javascript - 即使 b 在 a 的原型(prototype)链中,a instanceof b也会返回 false

Javascript 与 ASP :TextBox inside Repeater

JavaScript 卡牌游戏

javascript - knockout : Unable to bind to a button's click event when using Bootstrap popover

javascript - 在 HTML5 中使用目标 ="_blank"可以吗?

javascript - Chai 数组包含任何成员?

javascript - 将值传递给 "injected script"而不是依赖全局变量?

javascript - 使用媒体片段循环播放视频?

javascript - 将包含图像的 Material UI GridList 制作为背景

javascript - 如何在 Promise 中同步执行 'http get' ? Angular 2 + ionic 3