V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
flyingkid
V2EX  ›  JavaScript

如何计数

  •  
  •   flyingkid · 2012 年 10 月 11 日 · 4463 次点击
    这是一个创建于 4839 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我绑定了一个事件在onclick上面,我希望每点击一次就alert +1。
    也就是第一次点弹出1,第二次就是2。
    没有后端,不用cookie。允许刷新页面重置统计的数据。
    自己写了半天,点击N次,alert还是弹出1。
    11 条回复    1970-01-01 08:00:00 +08:00
    august
        1
    august  
       2012 年 10 月 11 日
    用個 data-count="1" 來記住數據,每次彈出後加1更改
    loading
        2
    loading  
       2012 年 10 月 11 日   ❤️ 1
    全局变量,你应该是用了局部变量
    Js
        3
    Js  
       2012 年 10 月 11 日   ❤️ 1
    wong2
        4
    wong2  
       2012 年 10 月 11 日
    为什么不把你的代码贴出来呢?
    013231
        5
    013231  
       2012 年 10 月 11 日   ❤️ 1
    flyingkid
        6
    flyingkid  
    OP
       2012 年 10 月 12 日
    @013231 我懂了。thx。
    flyingkid
        7
    flyingkid  
    OP
       2012 年 10 月 12 日
    @Js 你的用户名真拉风。代码更拉风。就是这个。你这个我暂时没看懂。
    你这个很简洁!

    ```
    <script type="text/javascript">
    window.onload = function () {
    var btn = document.getElementsByTagName('button')[0]
    btn.onclick = (function() {
    var n = 0
    return function() {
    alert(++n)
    }
    })()
    }
    </script>
    ```
    flyingkid
        8
    flyingkid  
    OP
       2012 年 10 月 12 日
    @loading 刚刚又搞了一下。我把变量放到外部(全局变量)结果就OK了。thx。
    对于函数、作用域这些印象加深了。
    hpyhacking
        9
    hpyhacking  
       2012 年 10 月 12 日
    @flyingkid 建议恶补一下
    bigmusic
        10
    bigmusic  
       2012 年 10 月 12 日
    闭包正解
    huaxinjiayou
        11
    huaxinjiayou  
       2012 年 10 月 13 日   ❤️ 1
    闭包正解
    没必要全局
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2573 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:03 · PVG 08:03 · LAX 16:03 · JFK 19:03
    ♥ Do have faith in what you're doing.