CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

自定义变量的问题!

楼主sdts(隐姓埋名的混蛋)2005-08-26 12:32:17 在 Web 开发 / ASP 提问

问题:以下这个模板类(JS)中的每个this各指的是哪个对象?  
  this[****](例如this[name])的含义是什么(是属性吗)?  
   
  这样的形式在VBscript里可以实现吗?   怎么写?  
   
  ------------------------------------  
  <!--文件名:Template.JScript.INC-->  
  <%  
  /*********************************************************/  
  /*   Template   Class                                                                                 */  
  /*   Author:   沐枫   (lin.y@263.net)                                                     */  
  /*   Date:       2000-6-09                                                                           */  
  /*********************************************************/  
   
  //Template   Method   Define  
   
  function   Template_Parse(name)  
  {  
      if(this[name]==null)  
          return   "";  
   
      var   reg   =   new   RegExp("{(\\w*)}","ig");  
      var   str   =   new   String(this[name]);  
      var   arr   =   str.match(reg);  
      var   i;  
       
      if(arr   !=   null)      
          for(i=0;i<arr.length;i++)  
          {  
              key   =   arr[i].slice(1,-1);  
              reg   =   new   RegExp(arr[i],"ig");  
              if(this[key]!=null)  
                  str   =   str.replace(reg,this[key]);  
          }  
      return   str;  
  }  
   
  function   Template_Split(name)  
  {  
      var   len   =   0;  
      var   arr;  
       
      if(this[name]==null)  
          return;  
           
      var   Template_Exp   =   new   RegExp("<!--#TPLDEF   +(\\w*)   *-->((.|\\n)*)<!--#TPLEND   +\\1   *-->","i");  
      while(this[name].search(Template_Exp)!=-1)  
      {  
          arr   =   this[name].match(Template_Exp);  
           
          this[arr[1}   =   arr[2];  
          this[name]   =   this[name].replace(Template_Exp,"{"+arr[1]+"}");  
          this.Split(arr[1]);  
      }  
  }  
   
  function   Template_Load(name,filename)  
  {  
      var   fso   =   new   ActiveXObject("Scripting.FileSystemObject");  
      var   file   =   fso.BuildPath(this.TplPath,   filename);  
      if(fso.FileExists(file))  
      {  
          var   f   =   fso.OpenTextFile(file,   1);  
          this[name]   =   f.ReadAll();  
      }  
  }  
   
   
  //Template   Constructor  
   
  function   Template(path)  
  {  
      //Property  
      this.TplPath   =   path;  
       
      //Method  
      this.Parse   =   Template_Parse;  
      this.Split   =   Template_Split;  
      this.Load   =   Template_Load;  
  }  
  %>  
  --------------------------  
  问题点数:30、回复次数:4Top

1 楼madpolice(午夜狂龙)回复于 2005-08-26 13:02:39 得分 30

1)“类”是抽象的  
   
  2)使用的时候要把“类”“实例化”  
   
  3)“实例化”的方法是使用new关键字,例如bb   =   new   aa();例如cc   =   new   aa();  
   
  4)类可以被“实例化”成多个“实例”,例如上面的bb、cc。  
   
  5)this表示“本实例”。如果“实例”是bb,那this就代表bb,如果“实例”是cc,那this就代表cc。  
   
  6)在“类”定义的时候,并不知道以后用户“实例化”的时候的“实例”名字是什么(可能是bb,可能是cc,可能是其他)。  
   
  7)那么在“类”定义的时候,用什么代表“实例”的名字呢?用thisTop

2 楼sdts(隐姓埋名的混蛋)回复于 2005-08-26 17:41:29 得分 0

谢谢解答   那this[****]是什么含义啊   和this.****有什么区别啊?   这个形式VBSCRIPT可以实现吗?Top

3 楼sdts(隐姓埋名的混蛋)回复于 2005-08-26 23:24:00 得分 0

没人知道吗?Top

4 楼sdts(隐姓埋名的混蛋)回复于 2005-08-27 11:27:09 得分 0

失望Top

相关问题

  • 关于自定义变量类型
  • 自定义变量的使用
  • 怎么用:自定义Tstings变量
  • 自定义过程和变量的问题
  • 在SQLserver中如何自定义一个全局变量?
  • 在视图中是否可以使用自定义变量?
  • 在 ASP 中的VBSCRIPT 语句中可以自定义变量吗?
  • 提问:如何将自定义的对象作为Session变量?
  • 提问:如何将自定义的对象作为Session变量?
  • 到底怎么使用自定义的全局变量啊?

关键词

  • template
  • exp
  • 实例
  • arr
  • fso
  • bb
  • cc
  • split
  • 时候
  • load

得分解答快速导航

  • 帖主:sdts
  • madpolice

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo