Javascript 比较cookie返回值“;假;每一次
我得到了一个名为Javascript 比较cookie返回值“;假;每一次,javascript,cookies,string-comparison,if-case,Javascript,Cookies,String Comparison,If Case,我得到了一个名为getCookie(x)的函数,该函数返回名为x的cookie的值。 当我检查console.log(getCookie(foo))时返回正确的已解决项,如果cookie不存在,则返回空字符串Foo是一个变量 对于此测试,我的cookiefoo存在,并且值为“已解决” 但如果我这样做: console.log(getCookie(foo) == "solved"); 它返回false。为什么会这样 这是我的getCookie()函数: function getCookie(cn
getCookie(x)
的函数,该函数返回名为x
的cookie的值。
当我检查console.log(getCookie(foo))时
返回正确的已解决
项,如果cookie不存在,则返回空字符串Foo
是一个变量
对于此测试,我的cookiefoo
存在,并且值为“已解决”
但如果我这样做:
console.log(getCookie(foo) == "solved");
它返回false。为什么会这样
这是我的getCookie()
函数:
function getCookie(cname){
var name = cname + "=";
var carray = document.cookie.split(";");
for(var j=0; j <carray.length; j++){
var cookie = carray[j];
while(cookie.charAt(0)==" "){
cookie = cookie.substring(1);
}
if (cookie.indexOf(name) == 0){
return cookie.substring(name.length,cookie.length); //retruns the value of the cookie, in my case it is always "solved"
}
}
return ""; //if there is no cookie with the given name, it returns an empty string
}
函数getCookie(cname){
变量名称=cname+“=”;
var carray=document.cookie.split(“;”);
对于(var j=0;j我选中了console.log(typeof(foo));
不知何故,它是一个对象,这就是为什么我的字符串比较返回“false”的原因。是foo
一个变量还是你想写“foo”
?我在stackoverflow.com上测试了你的代码:getCookie(“'u ga')
。所以我无法复制这个问题。我用typeof检查了我的cookie变量,它返回了“Object”.这就是为什么当我给getCookie函数一个对象时它返回false!