1.概念
是函数内部特殊的变量 this ,它代表着当前函数运行时所处的环境
2.作用
弄清楚this的指向,可以让我们代码更简洁
1.【谁调用, this 就是谁】 是判断普通函数中 this 指向的粗略规则
2.直接调用函数,其实相当于是 window.函数,所以 this 指代 window
3.代码演示
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 环境变量 : 函数内部特殊的变量 , 代表当前函数运行时的所处的环境
// this指的是,当时函数所处环境,是函数内部特殊的变量
// 弄清楚this的指向,可以让我们的代码更加整洁!
// 只要是函数就有 this
function fn(){
console.log(this); // window -- 是一个对象
}
window.fn()
// 普通函数中的this指向window对象 普通函数的this指向是window 普通函数指向的对象是window
// window是浏览器中非常大的一个对象
// Dom -- document --- 标签
// Bom -- window --- 浏览器
let obj = {
uname:"张三",
sayHi:function(){
console.log('你好啊');
console.log(this); // 对象的this,指向对象的调用者
console.log(this.uname);
}
}
obj.sayHi()
// 对象的this指向的就是obj这个对象,对象的this指向的就是当前的对象
// 对象的this指向的就是当前的对象,对象的this指向的就是当前的对象
// 对象的this指向的当前的对象,对象的this指向的就是当前的对象,对象的this指向的就是当前得到对象
// this就是谁调用,指向谁,谁调用指向谁,谁调用就指向谁,谁调用就指向谁
// 函数其实是window在调用
// 对象的方法就是对象在调用
// 函数的this指向为window 对象的this指向的就是当前的对象
// this是函数内部比较特殊的变量,代表了当前函数所处的环境,代表了函数所在的环境,代表了函数所在的环境
</script>
</body>
</html>
4.初步总结this
1.普通函数指向window或者他的调用者
2.事件中的this指向的是事件源
3.构造函数中的this指向的是构造函数创建的实力对象