美文网首页
10-综合练习2

10-综合练习2

作者: Young_Blood | 来源:发表于2016-07-27 17:01 被阅读5次
    <!DOCTYPE html>
    <html>
     <head> 
      <meta charset="UTF-8" /> 
      <title>Title</title> 
     </head> 
     <body> 
      <div class="box"> 
       <h2>认为你自己很帅的请点赞</h2> 
       <div id="btn">
        我非常赞同你的观点
        <span id="spanNum">0</span>
       </div> 
      </div> 
      <script type="text/javascript">
            var oBtn = document.getElementById("btn");
            var spanNum = document.getElementById("spanNum");
    
            // 1 全局
            // 利用全局作用域不销毁的原理,把需要累加的数字,定义为全局的变量
            // 弊端 : 在项目中为了防止全局变量之间的冲突,我们一般都是禁止或者减少使用全局变量
    //        var count = 0;
    //        oBtn.onclick = function () {
    //            count++;
    //            spanNum.innerHTML = count;
    //        }
    
    
            // 2.自己形成一个不销毁的私有作用域来保存我们需要累加的数字
            // 弊端: 有一个不销毁的私有作用域 ,所以占那么一丢丢的内存
            ~function () {
                var count = 0;
                oBtn.onclick = function () {
                    count++;
                    spanNum.innerHTML = count;
                }
            }();
    
            oBtn.onclick = (function () {
                var count = 0;
                return function () {
                    count++;
                    spanNum.innerHTML = count;
                }
            })();
    
    
            // 3.利用innerHTML的方式处理:每一次点击的时候都剪刀页面中获取到最新的值,然后累加,最后把累加的结果放回去
            // spanNum.innerHTML 获取的页面中的内容返回的是一个字符串
            // 弊端: 每一次都需要把页面中的内容先转换成字符串然后再累加,累加完再重新添加回去,当重新添加的时候浏览器都要重新的渲染一下
            oBtn.onclick = function () {
                spanNum.innerHTML++;
            }
    
    
            // 4.利用自定义属性存储(推荐)
            oBtn.count = 0;
            oBtn.onclick = function () {
                spanNum.innerHTML = ++this.count;
            }
        </script>  
     </body>
    </html>
    

    相关文章

      网友评论

          本文标题:10-综合练习2

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