Re: [问题] ECMA-262文件看不懂的地方

楼主: a2975313 (GN)   2017-03-31 17:02:28
另外, 常看到有人这样写↓
(function(){
function a()
{...}
}).call(this);
对直译器来说call也是函式呼叫, 直译器也会立马执行(function(){...})的内容.
里面也是一个函式定义, 但这样写的好处是?
跟直接把function a(){...}拉到外面的差别是?
※ 引述《a2975313 (GN)》之铭言:
: 最近在研究关于函式定义有哪些写法, 所以有机会接触到ecma文件, 但有些地方看不懂.
: 里面14.1 Function Definitions有用到[?Yield]或[+Default]或opt
: 请问它这样写是代表什么意思?
: http://imgur.com/kGEkmO1
: ecma-262文件载点
: https://www.ecma-international.org/publications/standards/Ecma-262.htm
作者: Qiqi (泼泼)   2017-03-31 17:31:00
差别在window.a
作者: icydream (巧虎)   2017-03-31 18:47:00
自己的scope
作者: Neisseria (Neisseria)   2017-03-31 18:50:00
这把很常见啊 global namespace 会比较干净一些 transpiler 也会用这招包 code
作者: eight0 (欸XD)   2017-04-01 13:56:00
关键字是 IIFE
作者: CCben (new man)   2017-04-03 18:39:00
IIFE, 用意是不污染全域命名空间
作者: visa9527 (高级伴读士官长)   2017-04-05 13:45:00
这种写法造成每次在 console debug 都没有办法执行 a是它的缺点....
作者: ssccg (23)   2017-04-06 14:22:00
这不叫缺点吧,可以选择要放哪些东西到window里面

Links booklink

Contact Us: admin [ a t ] ucptt.com