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

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

Javascript命令“返回”不經(jīng)意間加倍

Javascript命令“返回”不經(jīng)意間加倍

寶慕林4294392 2023-12-19 10:38:15
我有以下問(wèn)題:我試圖在一個(gè)與一些 JavaScript 混合的常見(jiàn) HTML 頁(yè)面中編寫(xiě)一個(gè)簡(jiǎn)單的程序,以便用函數(shù)的結(jié)果填充特定的 div。該函數(shù)的結(jié)果由一串文本組成,下面是一行破折號(hào),破折號(hào)的數(shù)量與文本字符串中的字符數(shù)相同。我的代碼如下,在正文中:<div id="div1"></div><script>let tab = "";function result(text) {for (i in text) {tab += '-';}return "<p>" + tab + "<br>" + text + "</p>";}document.getElementById("div1").innerHTML = result("Bear") + result("Bear") + result("Bear");</script>渲染的 HTML 返回以下結(jié)果:只有該函數(shù)的第一次調(diào)用才按預(yù)期工作:4 個(gè)破折號(hào)代表 4 個(gè)字母。但第二次調(diào)用渲染的破折號(hào)是原來(lái)的兩倍,第三次調(diào)用渲染的破折號(hào)是原來(lái)的三倍?;蛟S“回歸”是不是命令用不了?
查看完整描述

2 回答

?
慕雪6442864

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

只需在程序開(kāi)始時(shí)將tab設(shè)置為空字符串。

將其設(shè)置為函數(shù)內(nèi)的空字符串。

因此它永遠(yuǎn)不會(huì)重置為空字符串。

每次調(diào)用該函數(shù)時(shí),tab 都會(huì)在其中添加破折號(hào)。

如果您想在每次調(diào)用函數(shù)時(shí)重置它,請(qǐng)?jiān)诤瘮?shù)內(nèi)重置。


查看完整回答
反對(duì) 回復(fù) 2023-12-19
?
拉莫斯之舞

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

已經(jīng)回答了。還有一個(gè)不同的觀點(diǎn)可能會(huì)有所幫助:

問(wèn)題與。使固定

每次 調(diào)用result(text) 都會(huì)向全局 添加破折號(hào)變量tab(這里是相同長(zhǎng)度的3倍:4 + 4 + 4)。 通常let關(guān)鍵字描述如下:

  • 聲明一個(gè)作用域變量,該變量?jī)H在當(dāng)前[范圍]內(nèi)有效且具有生命周期(此處:對(duì)于 ,不僅僅是函數(shù)內(nèi)部)。整個(gè)腳本

注釋并正確格式化(正確的縮進(jìn)可提高可讀性!)您的腳本:

let tab = ""; // declared at start of the script, means global scope


function result(text) {

    // move declaration here so it always is reborn (local scope = new lifetime)

    for (i in text) {

        tab += '-';

    }

    return "<p>" + tab + "<br>" + text + "</p>";

}

根據(jù)您描述的意圖 范圍應(yīng)該在函數(shù)內(nèi)聲明。因此它具有本地作用域(僅在函數(shù)內(nèi)部已知)。 此外,它會(huì)在每次調(diào)用該函數(shù)時(shí)自動(dòng)重置。

選擇

在舊的控制臺(tái)使用 (Text-UI) 和 ASCII-Art 中,使用破折號(hào)等任何字符繪制文本線的基本方法- 描述為:

  • 用字符 a 填充 n 個(gè)字符的寬度

  • 返回包含重復(fù)字符a的字符串n

因此他們發(fā)明了諸如 fillString( a, n ) 或 a.repeat( n ) 之類的函數(shù)。 類似的事情也可以在 JavaScript 中完成。

好處:

  1. 您可以參數(shù)化填充字符,例如=_

  2. 您可以輕松重用此通用函數(shù)

獎(jiǎng)勵(lì):評(píng)論

我的經(jīng)驗(yàn)告訴我要注意代碼中的命名。 表達(dá)意圖和目的,這樣您和其他人現(xiàn)在以及 6 個(gè)月后就可以一目了然地看到變量和函數(shù)的管理情況。

  • 大多數(shù)函數(shù)都會(huì)返回結(jié)果,這會(huì)執(zhí)行更多操作:function addSameWidthLineAbove(text)

  • let line 或 textualBorder 或 dashes



查看完整回答
反對(duì) 回復(fù) 2023-12-19
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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