使用 JavaScript 开发的时候,很多开发者多多少少会被 this 的指向搞蒙圈,但是实际上,关于 this 的指向,记住最核心的一句话: 哪个对象调用函数,函数里面的this指向哪个对象。 分几种情况谈论下: 一、普通函数调用 二、对象函数调用 三、构造函数 ...
一个简单的 JavaScript 类示例 执行上面的示例可以看到控制台输出如下图 接下来做一个操作: 这里将常量 f 指向 speak 方法,注意这里是 指向 ,并不是 调用 。之后调用 f 可以观察到控制台输出为 undefined。那么问题来了,为什么这么赋值之后,函数内部的 this 不再是 Person 的实例 p 而变成了 undefined 实际上,方法内部的 this 永远指向的是调 ...
2021-01-07 16:24 0 448 推荐指数:
使用 JavaScript 开发的时候,很多开发者多多少少会被 this 的指向搞蒙圈,但是实际上,关于 this 的指向,记住最核心的一句话: 哪个对象调用函数,函数里面的this指向哪个对象。 分几种情况谈论下: 一、普通函数调用 二、对象函数调用 三、构造函数 ...
this是面向对象语言中一个重要的关键字,理解并掌握该关键字的使用对于我们代码的健壮性及优美性至关重要。而javascript的this又有区别于Java、C#等纯面向对象的语言,这使得this更加扑朔迷离,让人迷惑。 this使用到的情况: 1. 纯函数2. 对象方法调用3. 使用 ...
首先用一个例子指出来constructor存在形式。 由上面的代码我们总结出结论1:上面的代码在控制台可以看出constructor是指向构造器Fruit的引用。 这个地方就有点奇怪了。这个constructor到底指向的是那个实例的构造器? 根据上面的代码总结 ...
javascript中几种this指向问题 首先必须要说的是,this 永远指向函数运行时所在的对象,而不是函数被创建时所在的对象。(1)、作为函数名调用 函数作为全局对象调用,this指向全局对象 (2)、作为方法调用 函数作为对象中的一个属性,成为该对象的一个 ...
this对象是在运行时基于函数执行环境绑定的,在全局函数中,this=window,在函数被作为某个对象的方法调用时,this等于这个对象。 但是匿名函数的执行环境是全局性的 这里sayName方法return了一个匿名函数,这个匿名函数中this指向window 解决方法 ...
使用js中的定时器(setInterval,setTimeout),很容易会遇到this指向的问题。 直接上例子: 在这里,从this.name可以看出this的指向是window ...
在ES6之前,函数内部的this是由函数的调用方式决定的 函数调用 方法调用 new调用(构造函数 ...