对每行尽行注释,尽量详细一点,very very thanks

解决方案 »

  1.   

    下面是这段js,htm里我看得懂,没贴function Dsy() { this.Items = {}; }
    Dsy.prototype.add = function(id,iArray) { this.Items[id] = iArray; } 
    Dsy.prototype.Exists = function(id) { if(typeof(this.Items[id]) == "undefined") return false; return true; };
    function change(v){
    var str="0";
    for(i=0;i<v;i++){ str+=("_"+(document.getElementById(s[i]).selectedIndex-1));};
    var ss=document.getElementById(s[v]);
    with(ss){
    length = 0;
    options[0]=new Option(opt0[v],opt0[v]);
    if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v)
    {
    if(dsy.Exists(str)){
    ar = dsy.Items[str];
    for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]);
    if(v)options[1].selected = true;
    }
    }
    if(++v<s.length){change(v);}
    }
    }
    var dsy = new Dsy();
    dsy.add("0",["安徽省","北京市","福建省","甘肃省","广东省","广西壮族自治区","贵州省","海南省","河北省","河南省","黑龙江省","湖北省","湖南省","吉林省","江苏省","江西省","解放军","辽宁省","内蒙古自治区","宁夏回族自治区","青海省","山东省","山西省","陕西省","上海市","四川省","台湾省","天津市","西藏自治区","新疆维吾尔自治区","云南省","浙江省"]);  dsy.add("0_0_0",["枞阳县","大观区","怀宁县","郊区","潜山县","市辖区","宿松县","太湖县","桐城县","望江县","迎江区","岳西县"]); 
    后面还有好多dsy.add  我略取了,跟上面一样
    我疑问是, dsy 是数组吗,怎没见声明
      

  2.   

    这是用JS实现OOP编程, dsy 是一个类, 在JS里类的声明与函数的定义是一样的, 都是用 function, 而上面的 Dsy.prototype.add() 是给 Dsy 类扩展一个可被继承的 add() 方法.
      

  3.   

    借问一下 meizz, 你主页上的日历控件找不到的?
      

  4.   

    meizz大哥,俺对这段代码有些疑问,请指点
    1。function Dsy() { this.Items = {}; }
       这句应该是定义了一个类,items 是不是这个类中一个数组对象,如果是,并没有看到在那定义呀
    2。Dsy.prototype.add = function(id,iArray) { this.Items[id] = iArray; } 
       这句应该是为这个类增加一个方法,add(id,arraylist) iarray 应该是一个数组,但为什么也没
       见到对他的声明
      

  5.   

    this.Items = {}; //这句本身就是定义iArray是参数而已,不用声明吧?
      

  6.   

    心云说了. this.Items = {} 这句代码本身就是定义, 不过它定义的不是数组, 而是一个对象, 至于这个对象到底叫什么名字我到现在也没有求证到, 不过它的处理模式与哈希表很类似, 它的下标是字符型的而非数组的数字下标. 第二个问题心云已经说了.
      

  7.   

    this.Items = {};//这是一个对象,JS中所有对象都可以当做关联数组来使用.iArray是参数,不需要声明,而且不一定非得是数组类型