l'我被javascript while语句的使用弄糊涂了

l'm confused by the use of a javascript while statement

本文关键字:弄糊涂 语句 while 我被 javascript      更新时间:2023-09-26

我最近学习了一些javascript代码,因为我不是js专家,一旦我运行了它,我喜欢删除它,这样我就能更好地理解它。

这是代码:

function checkCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(";");
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == " ") c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    return null;
}

令人困惑的是堆叠的while和if语句——如果我加上花括号,我会得到更清晰的图片,如下所示:

        while (c.charAt(0) == " ") {
            c = c.substring(1, c.length);
        }
        if (c.indexOf(nameEQ) == 0) {
            return c.substring(nameEQ.length, c.length);
        }

但我不明白的是,为什么要使用while语句——当然"如果"更合适——或者我把括号弄错了吗?

澄清一下就好了。

如果您有一个以几个空格开头的文本,首先您将得到c.charAt(0) == " "为true,然后第一个字符将被删除。然后字符串开头的字符将是您最初拥有的第二个空格,因此它仍然为true,并且空格将被删除。这将一直持续到你一开始没有任何空间为止。

我希望这个答案能让你更清楚。

我发布了一个答案,因为我无法添加评论:)

If语句:-

if语句检查表达式是true还是false,然后仅当表达式为true时才运行语句中的代码。循环中的代码只运行一次。。。

While语句:-

while语句是一个循环。基本上,无论表达式为true,它都会继续执行while语句中的代码。

何时使用while循环:

当你不知道一个条件可能需要循环多少次时,最好使用循环——如果你知道你想测试一个条件的确切次数(例如10次),那么你应该使用for循环。