Julia's BLOG

js中this用法

2019-03-18

this 永远指向调用他的对象

1
2
3
4
5
6
function a(){
var user = "julia98";
console.log(this.user); //undefined
console.log(this); //Window
}
a();
1
2
3
4
5
6
7
var o = {
user:"julia98",
fn:function(){
console.log(this.user); //julia98
}
}
o.fn();
1
2
3
4
5
6
7
8
9
10
var o = {
a:10,
b:{
a:12,
fn:function(){
console.log(this.a); //12
}
}
}
o.b.fn();
1
2
3
4
5
6
7
8
9
10
var o = {
a:10,
b:{
// a:12,
fn:function(){
console.log(this.a); //undefined
}
}
}
o.b.fn();
1
2
3
4
5
6
7
8
9
10
11
12
var o = {
a:10,
b:{
a:12,
fn:function(){
console.log(this.a); //undefined
console.log(this); //window
}
}
}
var j = o.b.fn;
j();

本来调用fn的是b,结果上述操作是直接执行了fn,所以指向window

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章