函数声明与函数表达式基础介绍

来源:互联网 发布:爱淘宝一元红包口令 编辑:程序博客网 时间:2024/04/28 23:43

函数声明: function a(){ alert(1); }

函数表达式:

  1. 匿名:var a=function(){alert(1);};

  2. 命名:var a=function fn(){alert(1);};


函数声明转化成函数表达式:加()、~等;
ps: 表达式

  • ( function a(){ alert(1);} )
  • ~function a(){alert(1);}

二者区别:

函数声明后面不可以加();
函数表达式可在后面加();然后里面的语句就会执行。

  1. 函数声明:
    a();//1
    function a(){ alert(1); }

  2. 函数表达式:
    a();//报错
    var a=function fn(){alert(1);}

2.

if(true){
function fn(){
alert(1);
};
}else{
function fn(){
alert(2);
};
};
fn1();//函数声明要提前预解析,但每个浏览器的解析机制不一样,所以结果是不一样的,IE解析的结果是1,火狐解析的结果是2.

if(true){
var a= function fn(){
alert(1);
alert(typeof fn); } //在内部可以访问到
}else{
var a = function fn(){
alert(2);
};
};

a();//每个浏览器的结果一样。

fn();//在外部访问,IE能弹出结果,ff解析报错,所以建议这种情况不要使用函数名。

注意:把函数当成值得情况下,都可以使用匿名函数。(闭包)。

0 0
原创粉丝点击