<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>07_函数中的this</title>
</head>
<body>
<!--
1. this是什么?
* 一个关键字, 一个内置的引用变量
* 在函数中都可以直接使用this
* this代表调用函数的当前对象
* 在定义函数时, this还没有确定, 只有在执行时才动态确定(绑定)的
2. 如何确定this的值?
* test()
* obj.test()
* new test()
* test.call(obj)
前置知识:
* 本质上任何函数在执行时都是通过某个对象调用的
-->
<script type="text/javascript">
function Person(color) {
console.log(this)
this.color = color;
this.getColor = function () {
console.log(this)
return this.color;
};
this.setColor = function (color) {
console.log(this)
this.color = color;
};
}
Person("red"); //this是谁?
var p = new Person("yello"); //this是谁?
p.getColor(); //this是谁?
var obj = {};
p.setColor.call(obj, "black"); //this是谁?
var test = p.setColor;
test(); //this是谁?
function fun1() {
function fun2() {
console.log(this);
}
fun2(); //this是谁?
}
fun1();
</script>
</body>
</html>
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。