js函数以及js函数表达式

一、声明与表达式的格式

1.1 声明式的格式:

函数声明: function 函数名(){}

例子:

function aaa(){}  // 函数声明

1.2 表达式的格式:

函数表达式: function 函数名(可写可不写)(){} : 分别代表:命名函数表达式,匿名函数表达式

例子:

var a = function aaa(){} // 函数表达式
var a = function(){} // 函数表达式
(function aaa(){}) // 函数表达式
~function aaa(){}
-function aaa(){}
+function aaa(){}
!function aaa(){}  

二、区别

2.1 函数表达式可以直接在后面加括号执行,而函数声明不可以。

也就是说,函数表达式可以通过直接加()来执行这个函数

如:

function aaa(){alert(1)}(); // 这是不可以的  

但是,如果是函数表达式

var a = function aaa(){alert(1)}(); // 可以的
~function aaa(){alert(2)}();  

2.2 函数表达式可以被提前解析出来

看下面例子:这两个例子中,执行结果的不一样,可以看出函数表达式是提前被解析出来的。
如果需要通过判断来调用不同函数(函数名相同),最好使用函数表达式

if(true){
    function aaa(){
        alert(1);
    }
}else{
    function aaa(){
        alert(2);
    }
}
aaa(); //2  
if(true){
    var a = function aaa(){
        alert(1);
    }
}else{
    var a = function aaa(){
        alert(2);
    }
}
a(); //1  

2.3 命名函数表达式跟匿名函数表达式的区别

看例子:

var a = function aaa(){
    alert(1);
    alert(typeof aaa); // 内部可以找到
}
a();
aaa(); // 外部找不到  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值