function cookie_array(c){
this.coos = new Array(100);
this.cookie = c;
}
cookie_array.prototype = {
parse:function(){
var cookies = this.cookie.split(";");
for (var i = 0;i<cookies.length ;i++ )
{
var key = cookies[i].split("=")[0];
var value = cookies[i].split("=")[1];
this.coos[key] = unescape(value); //这里的赋值好像没有起到作用啊。
}
},
get:function(k){
return this.coos[k];
}
}
var cookie_variables = new cookie_array(document.cookie);
cookie_variables.parse();调用完以后发现coos那个数组是空的,, 这是怎么回事啊?

解决方案 »

  1.   

    有值啊。 我都alert出来看过了。
      

  2.   

    你的coos 是一个数组,你给它的key是数字吗?还是一个字符串?
    改为 this.coos = {} 才对吧?
      

  3.   

     var key = cookies[i].split("=")[0];this.coos[key] ;你确定这个key 是数字??cookies[i].split("=")[0];
      

  4.   

    key是字符串啊,改成{}也不对,
      

  5.   

    key是字符串,不过我试过
    arr["test"] = "abc"这样也可以赋值成功的,而且利用arr["test"]也可以取到abc
      

  6.   

    数组当然是空的,array也是对象,所以你才能赋值成功,你该不会以为给数组加一个字符串下标再赋个值就能把数据加入数组了吧?你用cookie_variables .get直接取cookie键值。
    你试试这个就明白了。
    var arr = new Array();
    arr['test'] = 1;
    alert(arr);
    alert(arr.test);
    alert(arr['test']);
      

  7.   

     this.coos = new Array(100);你coos 是个array 。array[“test”] 能行不?