2016-03-21 68 views
1

对不起一个问题要问... 下面是的getCookie代码W3C学校教程有人可以解释在JavaScript getCookie()while循环的函数吗?

会有人教我什么是while (c.charAt(0)==' ') c = c.substring(1);的功能,因为它是while循环,为什么不会保持它重复并卡在那里?

谢谢...

function getCookie(cname) { 
    var name = cname + "="; 
    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); 
     if (c.indexOf(name) == 0) return c.substring(name.length, c.length); 
    } 
    return ""; 
    } 

    } 
+0

而第一个字符是空白的时候,删除第一个字符。它试图修剪一个字符串前面的空白空间 – Liam

+4

“W3C学校” - W3Schools是低质量教程的提供者。 W3C是一个标准组织。他们不是同一个组织,你应该避免混淆他们。 – Quentin

+0

谢谢你们!我明白了。 –

回答

2

是什么而功能(c.charAt(0)==”“)C = c.substring(1);

它删除c前面的空格。

因为它是循环,为什么它不会重复和卡在那里?

while循环只能重复值为true。你不能有一个由无限空间组成的字符串。

+0

@ssube - 它会删除多个空格。这是一个可怜的修剪版本(删除多个空格)。 – Quentin

+0

哇,谢谢!非常明确的解释! –

相关问题