有没有人可以解释下

新手上路,请多包涵
var A = 1;

(function A() {
    A = 2;
    console.log(typeof A);
    delete A;
    console.log(typeof A);
})();

阅读 2.2k
2 个回答

这是个立即执行的函数表达式(IIFE),但是同时也是个具名函数表达式(NFE)。

有两个特性:

- 函数名的标识符(A)只能从内部访问。
- 函数名的标识符(A)不可以再绑定其他值,即不可更改。

所以:

A = 2      //  无效
delelte A  //  无效

具体详情这里有讨论

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏