我是 JavaScript 的新學習者,當我開始學習使用函式的方式時。它有時讓我困惑為什么我們應該宣告一個新變數并將變數添加到我們想要執行的操作中。讓我們看一下代碼。
function reverse(word){
Array.from(word);
let wordLength='';
for(i = word.length-1; i >= 0; i--) {
wordLength = word[i];
}
return wordLength;
}
我確定您知道這是在 javascript 中反轉字串的一種方式,我的問題是:
為什么我們需要在函式中宣告一個新變數,我們應該什么時候宣告它?
為什么我不能只打字
console.log(word[i]);?這是什么意思
wordLength =word[i];?為什么要在回圈后回傳新變數(wordLength),而不是函式(reverse)?
uj5u.com熱心網友回復:
為什么我們需要在函式中宣告一個新變數...
因為您在構建時需要一個地方來存盤反轉的單詞。(注意:wordLength不是該變數的好名稱。它不包含單詞的長度。它包含反轉單詞的字符。)
...我們什么時候應該宣布它?
在您第一次需要它之前的任何時間。
為什么我不能只輸入 console.log(word[i]);?
因為練習的目標是構建一個包含反轉單詞的字串,而不僅僅是輸出它。(而且因為console.log每次呼叫它時都會寫一個新行。)
wordLength =word[i]; 是什么意思?
這會將字符添加word[i]到wordLength. 例如,如果單詞是“start”,wordLength以 開頭"",然后"t"添加到它以使其成為"t",然后"r"添加到它以使"tr",依此類推。
( =是一種簡寫方式。wordLength = wordLength word[i];有幾種復合賦值運算子,其中大部分用于數學:-=、、*=等)
旁注:Array.from代碼中的呼叫沒有做任何有用的事情。它正在創建一個陣列,但隨后將該陣列丟棄,因為沒有使用回傳值。其余代碼使用您收到的字串word。
uj5u.com熱心網友回復:
為什么我們需要在函式中宣告一個新變數,我們應該什么時候宣告它?
Vars 是存盤資料的地方。如果您的演算法需要保留一些資料以供以后使用,您需要 vars。命名良好的變數也是創建易于理解的代碼的好方法
為什么我不能只輸入 console.log(word[i]);?
你可以,但它不會做任何有用的事情。您的目標是構建一個字串并回傳它。您的功能的使用將類似于
const word = getSomeText()
const reversedText = reverse(word)
doSomeStuff(reversedText) // whatever, send it online, or render it on screen some fancy way, not in the console.
因此,您需要回傳實際字符??串,而不是解決難題并以您喜歡的方式顯示答案
為什么要在回圈后回傳新變數(wordLength),而不是函式(reverse)?
因為它包含反轉的單詞,并且您應該回傳它。很少有復雜的情況下,回傳自身的函式很有用,但它與您的任務沒有任何共同之處
uj5u.com熱心網友回復:
為什么我們需要在函式中宣告一個新變數,我們應該什么時候宣告它?
需要變數來存盤以后可以更改的資料值。在您的情況下wordLength,需要變數來存盤反向字串。
最好在第一次使用變數時宣告它們,以確保它們總是被初始化為某個有效值。
為什么我不能只輸入 console.log(word[i])
console.log()僅用于列印輸出,但如果您想回傳某些內容則不會使用,并且根據您的宣告,它只會列印word[i]不完整的反向字串。
wordLength =word[i] 是什么意思
這意味著您將每次迭代連接word[i]到一個wordLength變數中。
wordLength =word[i]是 的簡寫wordLength = wordLength word[i]。如果 運算子的左側是字串,JavaScript 將強制轉換為字串的右側。
為什么我們要在回圈之后回傳新變數(wordLength),而不是函式(reverse)?
因為這是您對該功能的期望。它回傳reversed字串,函式應該回傳它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/456722.html
標籤:javascript 细绳 功能 句法
