javascript - 了解 "find longest word in string"代码

标签 javascript

function findLongestWord(str){
    str = str.split(" ");
    var longest = 0;
    var word = null;
    for (i = 0;i < str.length; i++){
        if (longest < str[i].length){
            longest = str[i].length;
            word = str[i];
        }
    }
    console.log(longest);
    return word.length;
}

我不明白 var longest = 0;var word = null 的用法。我只理解“split”、“for”和“if”的用法。

为什么会这样:

  1. longest = str[i].length 这和 0 = str[i].length 一样吗?如果是,为什么要设置为 0?

  2. str[i] = word 这和 null = str[i] 一样吗?据我所知,null 表示“空”。

这里的逻辑是什么?

最佳答案

值是从右到左分配的,最初, 最长等于0, 然后下面的命令使它等于 str[i].length(从右到左分配)

longest = str[i].length  

(这里str[i].length是正确的值所以它的值会被赋值给longest)

因此它与 0 = str[i].length 不同 同样

str[i] = word 

使 str[i] 等于 word not null = str[i]

左值称为左值,来自维基百科 LValue 是“在计算机科学中,指向存储位置的值,可能允许分配新值”

关于javascript - 了解 "find longest word in string"代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32405875/

相关文章:

javascript - 如何让我的两个 d3 图并排显示?

javascript - Meteor.Call 奇怪的行为

javascript - ajax post 无法在 mvc 中的新页面上工作

javascript - 将 json 条目与 d3 合并

javascript 链接分页

javascript - 如何在 JavaScript 中关联两个输入?

javascript - 如何使用基于 token 的身份验证来保护网页?

javascript - 如何获取最后执行的JS函数

javascript - HTML5 将文件从一个框拖到另一个框。不能正常工作

javascript - HTML表单提交POSTS输入按钮/提交值; JavaScript 表单提交不