+ -
当前位置:首页 → 问答吧 → 关于call的使用

关于call的使用

时间:2011-10-27

来源:互联网

function add(a,b) 

  alert(a+b); 

function sub(a,b) 

  alert(a-b); 


add.call(sub,3,1); // 结果是4

==================================
function Class1() 

  this.name = "class1"; 

  this.showNam = function() 
  { 
  alert(this.name); 
  } 


function Class2() 

  this.name = "class2"; 


var c1 = new Class1(); 
var c2 = new Class2(); 

c1.showNam.call(c2); // 结果是class2
==========================================
两个之间是不是有点矛盾,总感觉第一个结果应该是2`````````````````

作者: cutemurphy   发布时间: 2011-10-27

第一个的结果是4没错,call的使用你理解错了。
  函数.call(this, 参数1,参数2, ...)
add(函数).call(sub(this),3(参数1), 1(参数2))

这里有一篇关于call和apply使用的详解,可以去看下,别人写的
http://longxzq-126-com.iteye.com/blog/1044319

作者: zhengyibin001   发布时间: 2011-10-27