看了这篇我也懂了this

简介: 看了这篇我也懂了this
// this指向
// 1.指向全局变量window
var a = 1;
function func() {
    var a = 2;
    console.log(this.a);
}
func(); //2
// 2.指向调用它的对象(funx()中的this只对直属上司(直接调用者obj)负责,不管有多少个。)
var b = 3;
function funx() {
    console.log(this.b);
}
var obj = {
    b: 4,
    funx
}
obj.funx(); //4
var aa = 15
function test() {
    console.log(this.aa)
}
var obj = {
    aa: 2,
    test
}
var obj0 = {
    aa: 3,
    obj
}
obj0.obj.test()
// 3.可以将其传给一个变量,并且一样调用它
var d = 1
function test() {
    console.log(this.d)
}
var obj = {
    d: 2,
    test
}
var testCopy = obj.test
testCopy();
// 4.call(),命令指向谁
var e = 7;
function test1() {
    console.log(this.e)
}
var obj = {
    e: 8,
    test1
}
var testCopy = obj.test1
testCopy.call(obj);
// 5.指向构造函数实例化对象
var e = 9;
function Fu(e) {
    this.e = e
}
var rr = new Fu(10);
console.log(rr.e);
// 6.箭头函数中的this在函数定义的时候就已经确定,它this指向的是它的外层作用域this的指向。
var u = 11;
var test = () => {
    console.log(this.u);
}
var obj = {
    u: 18,
    test
}
obj.test();
相关文章
|
C++ 容器
学习C++笔记433
C++ STL 教程
127 0
|
C++
学习C++笔记413
C++ Web 编程
80 0
|
移动开发 Unix C++
学习C++笔记407
C++ Web 编程
72 0
|
C++
学习C++笔记399
C++ 多线程
88 0
|
C++
学习C++笔记382
C++ 预处理器
87 0
|
C语言 C++
学习C++笔记379
C++ 预处理器
97 0
|
C++
学习C++笔记374
C++ 模板
96 0
|
C++
学习C++笔记365
C++ 命名空间
79 0
|
数据安全/隐私保护 C++
学习C++笔记281
C++ 类 & 对象
86 0
|
C++
学习C++笔记273
C++ 数据结构
98 0

热门文章

最新文章