现在的位置: 首页 > 综合 > 正文

javascript  Function

2013年09月07日 ⁄ 综合 ⁄ 共 849字 ⁄ 字号 评论关闭

(1):一直对javascript中的function很迷惑。今天找点资料整理下:

Function是一个类,
而function是一个函数,我们在javascript中声明了一个函数,实际上就是创建了一个Function类的对象;如下:

function init(name){

          
alert("hello" + name );

}

 在body中onLoad事件调用时:onload="init('张三')";那么就会弹出hello
张三;

(2)而如果你写成这样var init=new Function("name","alert('hello'+
name);");在onload事件中调用的时候弹出的结果和以上的第一个相同....

(3) 通过以上可以看出,所谓的函数function只不过是Function类的一个对象,而函数名只不过是这个对象的引用。可以简单的把函数理解为一个指针,指向所因引用的Function类的实例;

(4)也可以把函数作为参数传递...

  function 
sayHello(name){
    
 alert("hello" +name); 
    
}
   function
callMethod(funName,args){
    funName(args);

   }
  
callMethod(sayHello,"xiaofeng");

这样就可以看出callMethod中funName是一个函数名;

(5):函数是Function类的一个对象,一个实例,那么它还有方法和属性...

 
属性:length--代表函数定义的形参个数,prototype--原型属性,相信这是大家都非常熟悉的一个属性,可以用它来实现构造类,还有arguments,constructor,callee,caller等

方法:valueOf(),toString() --这两个方法返回的都是函数的源代码,apply(),call()
这两个方法大同小异,区别就是参数不同。

现在我们应该清楚,函数名就是变量名。

 

抱歉!评论已关闭.