javascript定义函数的三种方法

/*第一种方法,使用function语句,格式如下*/
 function fn(){
   alert("这是使用function语句进行函数定义");
 }
 fn();
 
 /*第二种方法,使用Function()构造函数克隆函数*/
 var F = new Function("a","b","alert(a+b)");
 F(a,b);
 
 其实相当于如下代码:
 function F(a,b){
   alert(a+b);
 }
 
 /*第三种方法,使用函数直接量*/
 var zhenn = function(){
   alert("zhenn");
 }
 zhenn();

其中用“function语句”和使用“函数直接量”来定义函数的方法似乎比较常见,也比较好理解,在此不多说。针对使用Function()构造函数克隆函数,一般很少用,因为一个函数通常有多条语句组成,如果将他们以字符串的形式作为参数传递,难免会使得代码的可读性很差。

在这里再顺便提一下构造函数吧,其实从字面上理解,构造函数似乎也是函数,其实它并不是函数,而只是一种函数模型。举个不恰当的例子,构造函数相当于一部刚组装好的车子,无论远看还是近看,它都是一部车子,但是还没有加油(代表在使用前的一个必要步骤),所以它并不能启动。如果想要这部车子正常行驶,就必须给它加上油,其实这个过程就等同于构造函数的实例化,否则它并不能正常运行!看下面这个例子:


function Fn(){    //定义构造函数  
   this.elem ="这里是使用function()构造函数定义函数,呵呵";  
   this.fn = function(){    
     alert("这是使用function()构造函数定义函数,嘿嘿");  
   }
 }
 var f = new Fn();  //实例化
 alert(f.elem);
 f.fn();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值