首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数是未定义的?

参数是未定义的?
EN

Stack Overflow用户
提问于 2015-07-24 15:47:33
回答 4查看 5.1K关注 0票数 1

我最近开始学习javascript,这是一个实践问题的答案(编写一个函数,用字符串交换每个字母的大小写):

代码语言: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);

产出:

代码语言:javascript
复制
"lIFE IS 10% WHAT HAPPENS TO YOU, AND 90% OF HOW YOU react TO IT"

这段代码功能完美,完全可以完成它需要做的事情,但我对letters的使用感到困惑。这不是我的密码。

参数letters没有链接到任何地方,这就是让我困惑的地方。我相信它代表每一封信,但它的定义是什么呢?我对Python很熟悉,所以我期待类似于for i in list的东西。

谢谢你的进阶。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-07-24 15:57:52

当您将text放入参数中时,text在函数中变成letters

代码语言:javascript
复制
var swapCase = function(letters){  //anything you put as a parameter in this function will become 'letters'
var newLetters = "";
for(var i = 0; i<letters.length; i++){
    if(letters[i] === letters[i].toLowerCase()){  //letters[i] represents the character in the 'i' position (which is assigned in the for loop) in the string you added as a parameter.
        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); // You are adding the text string as a parameter in the function, thus it becoming the letter variable inside the function
票数 2
EN

Stack Overflow用户

发布于 2015-07-24 15:56:10

letters是一个函数参数,因此,基本上当您调用swapCase(文本)时,该函数接受text并将其分配给letters。如果您调用没有像这个swapCase()这样的参数的函数,那么基本上将undefined传递给这个函数,这就是分配给letter。您可以在函数开始时进行快速检查,以检查这一点。

代码语言:javascript
复制
if(letters === undefined) return false;
票数 2
EN

Stack Overflow用户

发布于 2015-07-24 15:54:58

参数字母没有链接到任何地方。

它是在这里定义的- function(letters){ -作为函数的参数名。

在这里调用函数时,传递一个值-- swapCase(text); --其中text是在上面一行中定义为字符串的变量。

我相信它代表每一封信,但它的定义是什么呢?

是一根绳子。您可以使用方括号符号访问字符串中的字符

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31614765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档