A JavaScript Fancier

伟大的javascript技术研究中...

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  304 随笔 :: 0 文章 :: 479 评论 :: 0 Trackbacks
 1 function selectOption(value,text){
 2     this.value=value;
 3     this.text=text;
 4 }
 5 
 6 function createSelect(selectName,selectOptions,currOptionValue){
 7     document.write("<select name="+selectName+">");
 8     for (var i=0;i<selectOptions.length;i++){
 9        if (selectOptions[i].value==currOptionValue){
10          document.write("<option value='"+selectOptions[i].value+"' selected>"+selectOptions[i].text+"</option>");
11        }else{
12          document.write("<option value='"+selectOptions[i].value+"'>"+selectOptions[i].text+"</option>");
13        }
14     }
15     document.write("</select>");
16 }
17 
18 function selectValidityDayTypes(value){
19     var validityDayTypes=new Array();
20     validityDayTypes[0]=new selectOption("","有效期");
21     validityDayTypes[1]=new selectOption("3","三天内");
22     validityDayTypes[2]=new selectOption("15","半个月");
23     validityDayTypes[3]=new selectOption("30","一个月");
24     validityDayTypes[4]=new selectOption("90","三个月");
25     validityDayTypes[5]=new selectOption("180","半年");
26     validityDayTypes[6]=new selectOption("365","一年");
27     validityDayTypes[7]=new selectOption("1000","长期");
28     createSelect("validityDay",validityDayTypes,value);
29 }
这是在某网站下载的一个js文件中的一个片段,该段js很容易看懂,但从中却使我学习到一点:通过建立对象的属性来将多维数组变为一维数组。

其中思想是,将第二维声明为一个类,然后将该维中的每个数组项设为该类的属性,这样既使数组易于理解,更易于使用和管理。

这个例子中将多个select选项使用数组形式表示出来,每个选项option又包括值和显示文字两部分。这里又可以使用数组来表示,但通过建立selectOption类来将值和显示文字设定为该类的属性来管理,这样操作和理解起来就容易的多了。

同时也学习到:对于网页重复性较多的内容应该写成一个模块(函数或类),然后只需输入不同的内容来显示内容即可,而不用重复写入一些内容,如select等。

以后需要加强自己的面向对象的思维习惯了,这样才能将一些复杂的问题变为简单问题来解决。
posted on 2007-01-07 23:25 Yemoo'S JS Blog 阅读(1271) 评论(0)  编辑 收藏 引用 所属分类: javascript代码研究
只有注册用户登录后才能发表评论。