js三种声明方式

JS中声明函数大体上有三种方法: 
1.常规方法 
JScript code function funcName(var1,var2....){ //add you code here } 

2.匿名函数引用法(找不到具体的称呼,暂且先这么叫) 
JScript code var funcName=function(var1,var2...){ //add you code here } 

3.构造函数法 
JScript code var funcName=new Function("x","y","alert(x+y);"); 

3中方法对函数的执行没有区别只是语法上和函数初始化的时候有些区别,通过如下实验 
可以看出他们的区别 

JScript code alert(fn1); alert(fn2); alert(fn3); function fn1(){ alert("fn1"); } var fn2=function(){ alert("fn2"); } var fn3=new Function("alert('fn3');"); fn1(); fn2(); fn3(); 
可以看到只有fn1被输出了函数体代码,其他两个都是undefined。因为JS的执行分为两个阶段 
预处理阶段和执行阶段,预处理阶段会对代码进行扫描分析并初始化变量表。通过第一种方法 
声明的函数在预处理阶段就会被初始化,而其他两种只有在执行阶段执行到相应行是才会被初始化

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值