您现在的位置: PQ秀秀网 >> PQ知道 >> 正文 用户登录 新用户注册
如何运用call方法啊. Web 开发 / ASP
作者:佚名    文章来源:不详    点击数:加载中...    更新时间:2008-7-12 字体:[ ]
添加到收藏: 添加到百度收藏  收藏到QQ书签  添加到雅虎收藏  添加到新浪ViVi  添加到天极网摘  添加到和讯网摘

如何运用call方法啊.

楼主yanjinbin0()2006-12-22 10:35:42 在 Web 开发 / ASP 提问

<script   language="javascript">  
  function   cc(n){  
    return   n*n;        
  }  
  var   zz;  
  zz=cc.call(gg,2);   //这样创建了一个新对象.  
  alert(zz.gg());     //是这样调用它吗?  
  </script> 问题点数:5、回复次数:10Top

1 楼cow8063(天涯远不远?不远!人在天涯,天涯怎会远)回复于 2006-12-22 11:29:34 得分 0

alert(cc(2));就行了Top

2 楼yanjinbin0()回复于 2006-12-22 14:21:52 得分 0

郁闷了我想用call用一个对象置换当前对象.  
  然后在显示值.  
  这样写也不行.  
  cc.call(gg,j);  
  alert(gg(2));  
  到底因该怎么使用call函数啊.Top

3 楼chenguang79(小虫)回复于 2006-12-22 14:40:28 得分 0

call是调用vbscript里的代码,不是调用javascript的代码啊Top

4 楼hansonboy(hansonboy)回复于 2006-12-22 15:35:45 得分 0

是.   call怎么不是js的代码呀,  
  不过楼主搞错了call不是返回一个对象,而是把调用的这个方法邦定到指定的对象中来调用,  
  zz=cc.call(gg,2);  
  表示执行cc这个函数,   而且把它邦定到gg这个对象中,   就是说在cc函数里用this就是   gg   这个对象而它的返回值就是n*n了Top

5 楼hansonboy(hansonboy)回复于 2006-12-22 15:43:29 得分 0

<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">  
  <HTML>  
  <HEAD>  
  <TITLE>   New   Document   </TITLE>  
  <script>  
  function   myClass(){  
  this.show=function(msg){  
  alert(msg);  
  }  
  }  
  var   gg   =   new   myClass();  
  function   cc(n){  
  this.show(n);  
  return   n*n;  
  }  
  alert(cc.call(gg,[2]));  
  //不用call后调用时就没show方法,因为这时cc的this不是gg对象,所有报错  
  try{  
  alert(cc(2));  
  }catch(e){alert(e.message)}  
  </script>  
   
  </HEAD>  
  <BODY>  
   
  </BODY>  
  </HTML>Top

6 楼hansonboy(hansonboy)回复于 2006-12-22 15:43:46 得分 0

上面是一个例子,   你研究一下吧Top

7 楼shenjf2000(一路走来)回复于 2006-12-22 16:03:15 得分 0

是.   call怎么不是js的代码呀,  
  不过楼主搞错了call不是返回一个对象,而是把调用的这个方法邦定到指定的对象中来调用,  
  zz=cc.call(gg,2);  
  表示执行cc这个函数,   而且把它邦定到gg这个对象中,   就是说在cc函数里用this就是   gg   这个对象而它的返回值就是n*n了  
   
  说得很详细!  
  call是将某个函数临时作为某个对象(call的第一个参数)的方法来使用,该函数在执行时this对象指向的对象是call的第一个参数对象而不是一般的window对象或者其他对象。  
  f1.call(obj1,"hello")     ==obj1.f1("hello")  
   
  至于你说的置换功能没有明白你的意图!  
  Top

8 楼yanjinbin0()回复于 2006-12-22 16:47:33 得分 0

出错代码是这样用的啊.  
  出错代码一定要放在一个函数里面如myclass里面吗?  
  Top

9 楼plought()回复于 2006-12-22 19:11:35 得分 0

CALL不是JavaScript脚本的动词,是VBScript脚本的动词,该动词源于VB语言,在VB里面是用调用模块过程程序的。  
  在ASP中,我们也经常把一些能够具有某个单独功能的代码写进一个SUB过程(相当于一个没有返回值的自定义函数),CALL就是用来运行指定过程,实现某种功能  
  使用方法:    
  <%  
  call     [过程名]  
  %>  
  举例:  
  <%  
  call   abcde()  
  sub   abcde()  
    '/////这里写上要执行的程序代码!  
  end   sub  
  %>  
   
  楼主怎么连这样基础的东西都不知道,怎么能写出程序呢!简直不可思议。  
   
  Top

10 楼hansonboy(hansonboy)回复于 2006-12-22 23:13:08 得分 0

出错代码是这样用的啊.  
  出错代码一定要放在一个函数里面如myclass里面吗?  
   
  ---------------------------------------------------  
  什么出错代码,   我上面那里给了两个例子你,   一个是正常调用的  
  alert(cc.call(gg,[2]));//会弹出两个对话框,   第一个是2,第二个是2*2,所以是4  
   
  第二个运行期会出错的,   alert(cc(2));//因为cc函数里有调用this.show方法,但cc本身是没有这个方法的,这个方法只是myClass的一个方法Top

文章录入:andy    责任编辑:andy 
  网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)