【发布时间】:2015-07-24 15:47:33
【问题描述】:
我最近开始学习javascript,这是一个练习题的答案(写一个交换字符串中每个字母大小写的函数):
var swapCase = function(letters){
var newLetters = "";
for(var i = 0; i<letters.length; i++){
if(letters[i] === letters[i].toLowerCase()){
newLetters += letters[i].toUpperCase();
}else {
newLetters += letters[i].toLowerCase();
}
}
console.log(newLetters);
return newLetters;
}
var text = "Life is 10% what happens to you, and 90% of how you REACT to it";
var swappedText = swapCase(text);
输出:
"lIFE IS 10% WHAT HAPPENS TO YOU, AND 90% OF HOW YOU react TO IT"
代码功能完善,完全符合它的需要,但我对letters 的使用感到困惑。这不是我的代码。
参数letters 没有链接到任何地方,这让我感到困惑。我相信它代表每个单独的字母,但是它在哪里定义呢?我熟悉 Python,所以我期待像 for i in list 这样的东西。
提前致谢。
【问题讨论】:
-
您的问题是什么?无论您何时调用函数 swapCase,字母都会是您在括号中传递给它的任何内容。 swapCase(text) 只是说字母将等于 text
-
当你把
text放入参数中时,text在函数内部变成letters -
letters是调用swapCase(text);时提供的占位符/ 参数,因此text在函数内部变为letters
标签: javascript function for-loop