JS函数定义特性摘录
JS函数定义特性摘录
一点灵犀 发表于2年前
JS函数定义特性摘录
  • 发表于 2年前
  • 阅读 10
  • 收藏 1
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: Javascript函数定义有一些微妙的特性,这里围绕函数声明(Declaration)与函数表达式(Expression),做了一些摘录。

ECMA语法定义

FunctionDeclaration :
function Identifier ( FormalParameterList opt ){ FunctionBody }

FunctionExpression :
function Identifier opt ( FormalParameterList opt ){ FunctionBody }

一些有趣的特性

  • 函数声明总是先于其它表达式解析。下面这个可以正确弹出alert框:
alert(fn());

function fn() {
  return 'Hello world!';
}
  • 后定义的函数声明会覆盖先定义的函数表达式(但不完全可靠)
var foo = function(){ return 1; };
if (true) {
  function foo(){ return 2; }
}
foo();
  • 函数表达式的标识只在该函数内部可见
var f = function foo(){
  return typeof foo; // "foo" 只在内部可见
};
// `foo` 在外部不可见
typeof foo; // "undefined"
f(); // "function"
  • 在IE8及以下,这就是个雷区,详见参考链接的JScript bugs部分。

参考链接:http://kangax.github.io/nfe/

共有 人打赏支持
一点灵犀
粉丝 9
博文 49
码字总数 14246
作品 1
×
一点灵犀
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: