资讯专栏INFORMATION COLUMN

理解JS中的this

oliverhuang / 779人阅读

摘要:是函数运行时自动生成的内部对象,指的就是调用函数的那个对象。函数调用的情况作为函数的调用作为方法的调用构造函数的调用方法调用作为函数的调用这里的就是作为方法的调用这里的是构造函数的调用方法调用可省略

this是函数运行时自动生成的内部对象,this指的就是调用函数的那个对象。

函数调用的情况:

作为函数的调用

作为方法的调用

构造函数的调用

apply方法调用

作为函数的调用

var x = 0;
function log() {
    console.log(this.x);
}
log(); //0
//这里的this就是window

作为方法的调用

function log() {
    console.log(this.x);
}
var obj = {};
obj.x = 0;
obj.log = log;
obj.log(); //0
//这里的this是obj

构造函数的调用

function Person() {
    this.name = "chinese";
}
var person = new Person();
console.log(person.name); //chinese

apply方法调用

var x = 1;
function log() {
    console.log(this.x);
}
var obj = {};
obj.x = 0;
obj.log = log;
obj.log.apply(window); //1 window可省略
obj.log.apply(obj); //0

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79140.html

相关文章

  • js基本操作-this理解

    摘要:基本操作理解写在前面在面向对象的语言中,关键字的含义是明确且具体的,即指代当前对象。一般在编译期确定下来,或称为编译期绑定。全局范围内当在全部范围内使用,它将会指向全局对象。输出浏览器中运行的脚本,这个全局对象是。 js基本操作-this理解 写在前面 在面向对象的语言中,this关键字的含义是明确且具体的,即指代当前对象。一般在编译期确定下来,或称为编译期绑定。而在 JavaScr...

    Steven 评论0 收藏0
  • 理解 JavaScript this

    摘要:回调函数在回调函数中的指向也会发生变化。在闭包回调函数赋值等场景下我们都可以利用来改变的指向,以达到我们的预期。文章参考系列文章理解闭包理解执行栈理解作用域理解数据类型与变量原文发布在我的公众号,点击查看。 这是本系列的第 5 篇文章。 还记得上一篇文章中的闭包吗?点击查看文章 理解 JavaScript 闭包 。 在聊 this 之前,先来复习一下闭包: var name = Nei...

    zombieda 评论0 收藏0
  • 【YDKJS读书笔记】关于Js中的this Part1

    摘要:贴一句书中的原文就是说在代码中很简单,没有任何修饰的调用,就可以理解为全局的作用域对象。这种链式赋值,指向问题在中叫做。在这种传一个参数作为对象的功能方面,与是等价的。看了以上文章对于解决面试题应该会有不小的帮助。 书读到this & object prototype这一卷。 章节到了this All Makes Sense Now! 书里面开篇就提到,this并不复杂,只不过被很多程...

    siberiawolf 评论0 收藏0
  • JavaScript深入浅出

    摘要:理解的函数基础要搞好深入浅出原型使用原型模型,虽然这经常被当作缺点提及,但是只要善于运用,其实基于原型的继承模型比传统的类继承还要强大。中文指南基本操作指南二继续熟悉的几对方法,包括,,。商业转载请联系作者获得授权,非商业转载请注明出处。 怎样使用 this 因为本人属于伪前端,因此文中只看懂了 8 成左右,希望能够给大家带来帮助....(据说是阿里的前端妹子写的) this 的值到底...

    blair 评论0 收藏0
  • JS核心知识点梳理——上下文、作用域、闭包、this(中)

    摘要:引言满满的干货,面试必系列,参考大量资料,并集合自己的理解以及相关的面试题,对核心知识点中的作用域闭包上下文进行了梳理。本篇重点介绍闭包和。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。 showImg(https://segmentfault.com/img/bVbo4hv?w=1800&h=1000); 引言 满满的干货,面试必bei系列,参考大量资料,并集...

    rottengeek 评论0 收藏0
  • JS 中的this指向

    摘要:当碰到时呵呵再看一个呵呵再来呵呵呵呵呵呵呵呵什么意思呢如果返回值是一个对象,那么指向的是构造函数的实例但是并没有被返回,如果返回值不是一个对象那么还是指向构造函数创建的实例。 为什么要学习this?如果你学过面向对象编程,那你肯定知道干什么用的,如果你没有学过,那么暂时可以不用看这篇文章,当然如果你有兴趣也可以看看,毕竟这是js中必须要掌握的东西。 1. this指向调用他的对象 首先...

    KavenFan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<