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

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

如何阻止我的程序連續(xù)兩次輸出相同的內(nèi)容?

如何阻止我的程序連續(xù)兩次輸出相同的內(nèi)容?

蕪湖不蕪 2023-01-06 11:25:31
因此,我創(chuàng)建了這個(gè)包含一些 JavaScript 的 HTML 頁面。我有這個(gè)按鈕可以輸出六分之一的表情符號。它工作正常,然后我添加了一些代碼來阻止程序連續(xù)兩次輸出相同的表情符號,但它沒有任何區(qū)別,我不知道為什么。這是我的代碼:function randEmoji()        {            var oldEmoji = emoji;            var emojiList = [";)", ":D", "xD", ":O", ":X", ":P"];            var emoji = emojiList[Math.floor(Math.random() * emojiList.length)];            if (oldEmoji == emoji)            {                randEmoji();            }            else            {                document.getElementById("emojiText").innerHTML = "Look how fun! ---> " + emoji + " <--- An emoji!";                console.log(emoji);            }        }我不太擅長編程,也不知道是什么導(dǎo)致了這個(gè)問題。
查看完整描述

3 回答

?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

您必須在函數(shù)外部聲明變量并將它們設(shè)置在函數(shù)內(nèi)部。否則它們的值在每次函數(shù)調(diào)用中都會被重置。


嘗試這個(gè):


var oldEmoji = '';

var emoji = '';

var emojiList = [";)", ":D", "xD", ":O", ":X", ":P"];


function randEmoji() {

    oldEmoji = emoji;

    emoji = emojiList[Math.floor(Math.random() * emojiList.length)];


    if (oldEmoji == emoji) {

        randEmoji();

    } else {

        console.log(emoji);

    }

}



var i = 0;

while (i < 20) {

    randEmoji();

    i += 1;

}


查看完整回答
反對 回復(fù) 2023-01-06
?
藍(lán)山帝景

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

問題在于函數(shù)作用域的任何局部變量(意味著在函數(shù)內(nèi)部聲明)在函數(shù)完成執(zhí)行后都會被丟棄。因此,每次運(yùn)行該函數(shù)emoji并oldEmoji從undefined


一種解決方案是將其中一個(gè)聲明移動到父范圍,如下所示:


var oldEmoji;


function randEmoji() {

    var emojiList = [";)", ":D"];

    var emoji = emojiList[Math.floor(Math.random() * emojiList.length)];

    

    if (oldEmoji == emoji) {

        randEmoji();

    } else {

        console.log(emoji);

        oldEmoji = emoji;

    }

}


randEmoji();

randEmoji();

randEmoji();

randEmoji();

randEmoji();

randEmoji();

randEmoji();

看這里,我們實(shí)際上從來沒有重復(fù)過。



查看完整回答
反對 回復(fù) 2023-01-06
?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

var oldEmoji = '';

      var emoji = '';

      var emojiList = [";)", ":D", "xD", ":O", ":X", ":P"];

      

    function randEmoji(){

       // remove old emoji first to avoid doing a recursive call

       var check = oldEmoji? emojiList.filter(e => e !== oldEmoji ) :  emojiList;

       var emoji = check[Math.floor(Math.random() * check.length)];

       oldEmoji = emoji

       document.getElementById("emojiText").innerHTML = "Look how fun! ---> " + emoji + " <--- An emoji!";

       console.log(emoji);

                    

  }


查看完整回答
反對 回復(fù) 2023-01-06
  • 3 回答
  • 0 關(guān)注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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