<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script>
//第一种
alert(this); //window 普通函数的调用 this指向window
//第二种 在函数中调用this
function show() {
alert(this);
}
show(); //window 普通函数的调用 this指向window
new show(); //object
//第三种 字面量中的this
var user = {
uName: "123",
show: function () {
alert(this + ' ' + this.uName);
}
}
user.show(); //object(即user这个对象)
var newUser = user.show;
newUser(); //window 普通函数的调用 this指向window
//第四种
function oshow(a, b) {
alert(this + ' ' + 'a:' + a + ' ' + 'b:' + b);
}
oshow.call("abc", 10, 20) //abc call改变了this的指向,this指向call中的第一个参数 后面的数为给函数参数传递的值
oshow.apply("def", [10, 20]) //def apply改变了this的指向,this指向apply中的第一个参数 后面的数为给函数参数传递的值;用数组【】来传参
//第五种 原型中的this
function users() {
this.username = "我是123";
}
users.prototype.showUser = function () {
alert(this + " " + this.username)
}
var myUser = new users();
myUser.showUser(); //object(即myUser这个对象)
</script>
</head>
<body>
</body>
</html>
this的指向
最新推荐文章于 2024-05-29 19:36:44 发布