第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript中一個函數(shù)怎么獲得另一個函數(shù)中變量

JavaScript中一個函數(shù)怎么獲得另一個函數(shù)中變量

慕哥9229398 2019-03-14 18:15:01
代碼如下$(function(){    $('.a').on('click',function(){        var counter=0        counter++    })        $('.b').on('click',function(){        if(counter>=3){            alert(大于3)        }    })})有2個按鈕,a和b,點擊a,變量counter會增加1。當(dāng)b按鈕點擊的時候,如果變量counter大于等于3時,會彈出提示框。因為counter不是全局變量,每次點擊之后會被銷毀,所以每次counter都是1,如果用閉包,該怎么實現(xiàn)。再不使用全局變量的情況下,b按鈕點擊的函數(shù)中又應(yīng)該怎么獲得a按鈕函數(shù)中的counter值。
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻(xiàn)1803條經(jīng)驗 獲得超3個贊

一定要在上層作用域聲明的,比如這樣


$(function(){


    (function() {

        var counter = 0;

        

        $('.a').on('click',function() {

            counter++;

        });

        

        $('.b').on('click',function() {

            if(counter > 3) {

                alert('大于3');

            }

        });

    })();

})


查看完整回答
反對 回復(fù) 2019-03-25
?
人到中年有點甜

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊

因為你用匿名函數(shù)包裝了一層,所以在這個匿名函數(shù)內(nèi)定義的局部變量,在子級函數(shù)中是有效的,即你應(yīng)該:


$(function(){

    var counter=0;

    $('.a').on('click',function(){

        counter++;

    })

    

    $('.b').on('click',function(){

        if(counter>=3){

            alert(大于3);

        }

    })

})

你原來對a的監(jiān)聽函數(shù)邏輯會導(dǎo)致counter永遠(yuǎn)是1,因為每次進(jìn)入你都是初始化為0,然后加1的。


查看完整回答
反對 回復(fù) 2019-03-25
  • 2 回答
  • 0 關(guān)注
  • 1311 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號