gpt4 book ai didi

javascript - 查找greetUser函数中的逻辑错误

转载 作者:行者123 更新时间:2023-12-02 20:02:48 28 4
gpt4 key购买 nike

我的教授说我已经评分的代码的greetUser函数中有一个逻辑错误。该代码是基于文本中的示例,因此我对确定逻辑感到惊讶。这是她给我的信息:

The greetUser function is not reading the cookie correctly for the returning visitor. Check this line of code in the readCookie function - it has a logic error.

这是readCookie函数:

function readCookie(name) {
var nameEQ = name + "=";
var x = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = cookies[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;
}

这是greetUser函数:

function greetUser(){
userName = readCookie("rock_username");
if(userName)
alert("Hello " + userName + ", I missed you.");
else
alert("Hello, I am your pet rock");
}

从我的新手的 Angular 来看,这一切看起来都很合乎逻辑,与文本示例中的一样。有什么建议

最佳答案

var x = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = cookies[i];

您正在迭代“ca”(那是什么?)而不是“x”,然后您正在从 cookies 数组中读取? 3个不同的变量,相同的含义?

我会解释一下: var x = document.cookie.split(';'); 将存储在 document.cookie 中的字符串拆分为一个数组,这将有效地保存在 x 参数内。

然后,在 for() 构造中,您将增加 i 直到您刚刚通过拆分字符串创建的数组中找到的元素数量。这样,每次执行 c = x[i]; 时(正确版本)您将获得用“;”分割的 document.cookie 字符串的下一部分特点。

这使您可以处理 document.cookie 的所有有趣部分,根据定义,这些部分是用户代理(浏览器)cookie。在您的示例中,您正在迭代 cookie 以查找特定的 cookie(“名称”cookie),以便将其打印为对用户的问候。

祝你好运!

关于javascript - 查找greetUser函数中的逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7788199/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com