WEB开发网
开发学院网页设计JavaScript 深入学习JavaScript中的函数 阅读

深入学习JavaScript中的函数

 2010-09-14 13:04:29 来源:WEB开发网   
核心提示: //定义一个函数func1,具有属性p和方法Afunction func1(){this.p="func1-";this.A=function(arg){alert(this.p+arg);}}//定义一个函数func2,深入学习JavaScript中的函数(8),具有

//定义一个函数func1,具有属性p和方法A
function func1(){
   this.p="func1-";
   this.A=function(arg){
      alert(this.p+arg);
   }
}
//定义一个函数func2,具有属性p和方法B
function func2(){
   this.p="func2-";
   this.B=function(arg){
       alert(this.p+arg);
   }
}
var obj1=new func1();
var obj2=new func2();
obj1.A("byA");  //显示func1-byA
obj2.B("byB");  //显示func2-byB
obj1.A.apply(obj2,["byA"]); //显示func2-byA,其中[“byA”]是仅有一个元素的数组,下同
obj2.B.apply(obj1,["byB"]); //显示func1-byB
obj1.A.call(obj2,"byA"); //显示func2-byA
obj2.B.call(obj1,"byB"); //显示func1-byB

可以看出,obj1的方法A被绑定到obj2运行后,整个函数A的运行环境就转移到了obj2,即this指针指向了obj2。同样obj2的函数B也可以绑定到obj1对象去运行。代码的最后4行显示了apply和call函数参数形式的区别。

与arguments的length属性不同,函数对象还有一个属性length,它表示函数定义时所指定参数的个数,而非调用时实际传递的参数个数。例如下面的代码将显示2:

function sum(a,b){
   return a+b;
}
alert(sum.length);

深入认识JavaScript中的this指针

this指针是面向对象程序设计中的一项重要概念,它表示当前运行的对象。在实现对象的方法时,可以使用this指针来获得该对象自身的引用。

上一页  3 4 5 6 7 8 9  下一页

Tags:深入 学习 JavaScript

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接