函数上下文与构造函数

作者 糖一瓶 日期 2018-02-15
函数上下文与构造函数

一、函数的上下文【this的指向】

规则1:当函数直接圆括号运行的时候,上下文是window对象。
当IIFE【立即执行函数】中有this的话,指向的值window对象。
规则2:从对象中枚举或从数组中枚举的函数,上下文是这个对象或数组。
规则3:定时器调用函数,上下文是window对象。
规则4:DOM事件处理函数中的this,指的是触发的事件的这个元素。
规则5:call()和apply()可以重新设置函数的上下文。

二、 构造函数

语法:

new 函数的名字();

此时函数调用了。
当一个函数被new调用的时候,会发生四个事情,四步走:

1)函数里面会创建一个新的空对象。
2)This指向这个空对象。也就是说将以这个新的对象作为上下文。
3)执行所有函数中语句。
4)返回这个新的对象。