摘要:简单的指向全局函数中的指向在一个函数上下文中,由调用者提供,由调用函数的方式来决定。如果函数独立调用,那么该函数内部的,则指向。但是在非严格模式中,当指向时,它会被自动指向全局对象。
原文全文传送门
我写这篇文章主要学习我不知道的独立调用时this的指向
this的指向,是在函数被调用的时候确定的,也就是执行上下文被创建时确定的。
(1)简单的指向全局
(2)函数中的this指向
在一个函数上下文中,this由调用者提供,由调用函数的方式来决定。如果函数独立调用,那么该函数内部的this,则指向undefined。但是在非严格模式中,当this指向undefined时,它会被自动指向全局对象。
var a = 20; var obj = { a: 10, c: this.a + 20, fn: function () { return this.a; } } console.log(obj.c); //独立调用 非严格模式指向全局 40 console.log(obj.fn()); //对象调用 指向对象 10
当obj在全局声明时,无论obj.c在什么地方调用,这里的this都指向全局对象,而当obj在函数环境中声明时,这个this指向undefined,在非严格模式下,会自动转向全局对象。
var a = 20; var foo = { a: 10, getA: function () { return this.a; } } console.log(foo.getA()); //非独立调用 10 var test = foo.getA; console.log(test()); //独立调用 20
(3)用call或者apply显式更改this
(4)构造函数new对象this
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/88132.html
写在最前:BFC看起来是个很陌生的概念但它却时时发生在我们工作中,如何清除浮动影响?如何避免margin穿透问题?如何编写两栏自适应布局?都和BFC有这密不可分的关系,下面走进切图妞的世界,分分钟搞定BFC! 一、什么是BFC? BFC概念 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素...
写在最前:BFC看起来是个很陌生的概念但它却时时发生在我们工作中,如何清除浮动影响?如何避免margin穿透问题?如何编写两栏自适应布局?都和BFC有这密不可分的关系,下面走进切图妞的世界,分分钟搞定BFC! 一、什么是BFC? BFC概念 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素...
阅读 3205·2021-11-08 13:21
阅读 1194·2021-08-12 13:28
阅读 1405·2019-08-30 14:23
阅读 1923·2019-08-30 11:09
阅读 839·2019-08-29 13:22
阅读 2683·2019-08-29 13:12
阅读 2548·2019-08-26 17:04
阅读 2249·2019-08-26 13:22