1.关于this:
this关键字是函数运行时自动生成的一个内部对象,也被称作为环境对象,只能在函数内部使用。谁调用this,this就指向谁。谁调用我,我就指向谁
2.this的三种指向
普通函数; 函数名() this指向window
对象方法: 对象名.方法名() this指向对象
构造函数; new 函数名() this指向new创建实例对象
3.通过代码分析、验证
(1)普通函数
我们声明一个函数,函数体代码console.log(this),猜测控制台会得到什么结果呢?
结果为window,说明普通函数中的this指向window。
问题来了,前面我们说到,谁调用this,this就指向谁,但这里我们可以看我们是直接通过函数名()来调用的,那么为什么不指向函数本身呢?
其实函数的调用完整是可以这么写的
window其实是JavaScript中的顶级对象,只不过我们往往省略不写