【问题标题】:Javascript Prompt To calculate string lengthJavascript提示计算字符串长度
【发布时间】:2016-05-15 02:21:15
【问题描述】:

我正在 Codeacademy 学习 javascript,我正在尝试从提示条目中计算字符串长度并为每个答案显示自定义警报。这是我目前所拥有的:

var answer = prompt('What is your surname?').length;

var responses = {
answer > 5: 'Your name has fewer than five characters',
answer < 5: 'Your name has more than five characters',
defaultResponse: 'You didn\'t answer?'
}

alert(responses[answer] || responses.defaultResponse);

我是否应该在这里某处放置一个 if 语句。还是Switch在这里会更好?

【问题讨论】:

    标签: javascript object prompt


    【解决方案1】:

    这是一个干净的方法:

    var answer = prompt('What is your surname?');
    var response;
    
    if(answer.length == 0){
        response = 'You didn\'t answer?';
    } else if(answer.length > 5){
        response = 'Your name has fewer than five characters';
    } else if (answer.length < 5) {
        response = 'Your name has more than five characters';
    }
    
    alert(response);
    

    对于这样的事情,我不会为开关而烦恼。

    【讨论】:

    • if (answer.length > 5) { response = "你的名字超过 5 个字符";
    • 感谢您的关注!已编辑:)
    • 还有 var response = '你没有回答?'将永远不会被调用,因为如果他们不输入名称,则将其视为长度为 0 的字符串。如果取消,脚本将结束。
    • 谢谢,这是有道理的。
    【解决方案2】:

    如果你想使用一个对象来查找答案,你可以这样做

    var answer = prompt('What is your surname?').length;
    
    var responses = {
    more: 'Your name has more than five characters',
    less: 'Your name has fewer than five characters',
    default: 'You didn\'t answer?'
    }
    
    alert(answer == 0 && responses.default || answer < 5 && responses.less || answer > 5 && responses.more);
    

    【讨论】:

    • 谢谢。我希望看到使用对象的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多