fason、meizz请进,关于fason的网站上bigarea\script\area.js

gxh973121 2005-03-15 11:55:49
这个js文件,小弟看不懂,能不能帮忙解释一下,谢谢,js 代码太不规范了,看了实在晕
不像c#等,当初没怎学就能看懂
...全文
107 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxh973121 2005-03-16
  • 打赏
  • 举报
回复
谢谢各位,基本明白了
ice_berg16 2005-03-16
  • 打赏
  • 举报
回复
this.Items = {};//这是一个对象,JS中所有对象都可以当做关联数组来使用.

iArray是参数,不需要声明,而且不一定非得是数组类型
meizz 2005-03-16
  • 打赏
  • 举报
回复
心云说了. this.Items = {} 这句代码本身就是定义, 不过它定义的不是数组, 而是一个对象, 至于这个对象到底叫什么名字我到现在也没有求证到, 不过它的处理模式与哈希表很类似, 它的下标是字符型的而非数组的数字下标. 第二个问题心云已经说了.
心云意水 2005-03-16
  • 打赏
  • 举报
回复
this.Items = {}; //这句本身就是定义

iArray是参数而已,不用声明吧?
gxh973121 2005-03-15
  • 打赏
  • 举报
回复
对每行尽行注释,尽量详细一点,very very thanks
gxh973121 2005-03-15
  • 打赏
  • 举报
回复
meizz大哥,俺对这段代码有些疑问,请指点
1。function Dsy() { this.Items = {}; }
这句应该是定义了一个类,items 是不是这个类中一个数组对象,如果是,并没有看到在那定义呀
2。Dsy.prototype.add = function(id,iArray) { this.Items[id] = iArray; }
这句应该是为这个类增加一个方法,add(id,arraylist) iarray 应该是一个数组,但为什么也没
见到对他的声明
fking22 2005-03-15
  • 打赏
  • 举报
回复
借问一下 meizz, 你主页上的日历控件找不到的?
meizz 2005-03-15
  • 打赏
  • 举报
回复
这是用JS实现OOP编程, dsy 是一个类, 在JS里类的声明与函数的定义是一样的, 都是用 function, 而上面的 Dsy.prototype.add() 是给 Dsy 类扩展一个可被继承的 add() 方法.
gxh973121 2005-03-15
  • 打赏
  • 举报
回复
下面是这段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 是数组吗,怎没见声明

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧