JS 的 new 做了什么? + JS 的立即执行函数是什么?

165 阅读1分钟

JS 的 new 做了什么?

  1. 创建临时对象/新对象
  2. 绑定原型
  3. 指定 this = 临时对象/新对象
  4. 执行构造函数
  5. 返回临时对象

JS 的立即执行函数是什么?

声明一个匿名函数,然后立即执行它。这种做法就是立即执行函数。

怎么做:

(function(){alert('我是匿名函数')} ())  // 用括号把整个表达式包起来
(function(){alert('我是匿名函数')}) ()  // 用括号把函数包起来
!function(){alert('我是匿名函数')}()    // 求反,我们不在意值是多少,只想通过语法检查。
+function(){alert('我是匿名函数')}()
-function(){alert('我是匿名函数')}()
~function(){alert('我是匿名函数')}()
void function(){alert('我是匿名函数')}()
new function(){alert('我是匿名函数')}()
var x = function(){return '我是匿名函数'}()

上面每一行代码都是一个立即执行函数。(举例法)

解决了什么问题:

在 ES6 之前,只能通过它来「创建局部作用域」。

优点:

兼容性好。

缺点:

丑。