函数声明和函数表达式的(区别)应用场景注意事项

函数声明在条件语句内虽然可以用,但是没有被标准化,也就是说不同的环境可能有不同的执行结果,所以这样情况下,最好使用函数表达式:

01
// 千万别这样做!
02
// 因为有的浏览器会返回first的这个function,而有的浏览器返回的却是第二个
03

04
if (true) {
05
  function foo() {
06
    return 'first';
07
  }
08
}
09
else {
10
  function foo() {
11
    return 'second';
12
  }
13
}
14
foo();
15

16
// 相反,这样情况,我们要用函数表达式
17
var foo;
18
if (true) {
19
  foo = function() {
20
    return 'first';
21
  };
22
}
23
else {
24
  foo = function() {
25
    return 'second';
26
  };
27
}
28
foo();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值