2 回答

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)重置。

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 中完成。
好處:
您可以參數(shù)化填充字符,例如
=
或_
您可以輕松重用此通用函數(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
- 2 回答
- 0 關(guān)注
- 164 瀏覽
添加回答
舉報(bào)