学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
轻松建立自己的群组,招兵买马   
发新话题
打印

请看这段TAG代码,有些基础问题请教

请看这段TAG代码,有些基础问题请教

function scrollDoor(){
}
scrollDoor.prototype = {
       sd : function(menus,divs,openClass,closeClass){
              var _this = this;
              if(menus.length != divs.length)
              {
                     alert("菜单层数量和内容层数量不一样!");
                     return false;
              }                           
              for(var i = 0 ; i < menus.length ; i++)
              {      
                     _this.$(menus[i]).value = i;                           
                     _this.$(menus[i]).onmouseover = function(){
                                   
                            for(var j = 0 ; j < menus.length ; j++)
                            {                                          
                                   _this.$(menus[j]).className = closeClass;
                                   _this.$(divs[j]).style.display = "none";
                            }
                            _this.$(menus[this.value]).className = openClass;      
                            _this.$(divs[this.value]).style.display = "block";                           
                     }
              }
              },
       $ : function(oid){
              if(typeof(oid) == "string")
              return document.getElementById(oid);
              return oid;
       }
}


1、_this指的是sd吧?而$是scrollDoor的一个方法吧?那两者是同级,为什么可以出现_this.$呢?
2、定义$上面那个逗号是干什么用的?为什么不能去掉?

TOP

……
1、this指向的是调用该方法的对象,不是sd这个方法
2、请参看字面对象定义的方法

obj = {
   a : function() {
   },
   b : xxxxx,
   c : {
   }
}
个人ajax技术专题站: http://www.ajaxgo.org 我不会闲你烦,只会闲你不够烦!

TOP

谢谢,明白了

TOP

发新话题