Javascript中的this详解
*本文代码中使用的 function dump(v,title), 是一个自己写的输出变量描述的函数。
如果你准备在JavaScript中写类,那么你必需对关键字 this 的使用有深刻的理解:
这是JavaScript手册中对 this的简单解释:
this:指当前对象。
对于 JScript 的客户版本,如果在其他所有对象的上下文之外使用 this,则它指的是 window 对象。
在全局环境下的 this
通常我们认为,Javascript 不在任何函数,不在任何类中,直接书写运行的代码的环境,称为直接运行环境,或者全局环境。实际上这个环境并不是一个真正意义上全局环境,
运行下面的代码:
1 |
dump( this , 'Global This' );
|
我们可以得到输出结果:
■ Global This: object – [object Window]
[The window Object]
可以看到,在这个环境下,this 等于 浏览器的原生对象 window ,它是原生类 Window 的实例。
事实上,当我们在浏览器中运行JavaScript代码时,windows 是所有代码的根节点,所有的代码都是存储并挂接于这个节点的,当然多窗口的环境下会有多个window对象。
输出结果:
■ function function Car() { …
■ function function Car() { …
可以看到 Car 和 window.Car 是完全相同的东西
在类中使用 this
现在我们来看看当使用类的时候,this会发生什么样的变化。下面是一段典型的类定义代码,我们来逐步分析:
01 |
function Car(color,doors){
|
, Courier, monos
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
都说 JavaScript 是一种很灵活的语言,这其实也可以说它是一个混乱的...它把函数式编程和面向对象编程糅合一起,再加上动态语言特性,简直强大无比,下面小编给大家介绍Javascript中this详解,需要的小伙伴可以来参考下
详解Javascript 中的this指针
NULL 博文链接:https://wv1124.iteye.com/blog/505231
高手详解javascript中的this指针
详解JavaScript中this关键字的用法_.docx
详解Javascript 中的this指针
详解javascript中的this对象.docx
详解javascript中的this对象.pdf
JavaScript中的this指向问题详解 相信我,只要记住本文的 7️⃣ 步口诀,就能彻底掌握 JS 中的 this 指向。 先念口诀:箭头函数、new、bind、apply 和 call、欧比届点(obj.)、直接调用、不在函数里。 按照口诀...
高手详解javascript中的this指针.pdf
JavaScript 中的this 总是让人迷惑,应该是js 众所周知的坑之一。 个人也觉得js 中的this 不是一个好的设计,由于this 晚绑定的特性,它可以是全局对象, 当前对象,或者…有人甚至因为坑大而不用this。 其实如果...
JavaScript函数this指向问题详解 目录 一、 函数内 this 的指向1、普通函数2、构造函数3、对象方法4、事件绑定方法5、定时器函数6、立即执行函数二、改变函数内部 this 指向1、call 方法2、apply 方法3、bind ...
高手详解javascript中的this指针借鉴.pdf
详解javascript中的this对象[参照].pdf
在理解javascript的this之前,首先先了解一下作用域。 作用域分为两种: 1、词法作用域:引擎在当前作用域或者嵌套的子作用域查找具有名称标识符的变量。(引擎如何查找和在哪查找。定义过程发生在代码书写阶段) ...
this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。今天我们就来详细探讨下this的使用
应该是最常用的吧,函数中调用一个this,这里其实就是全局变量 var value="0"; function mei(){ var value="1"; console.log(this.value); //0 console.log(value); //1 } mei(); 输出0就是因为this指向的是全局...
其中JavaScript 中的 this 关键字,就是一个比较容易混乱的概念,在不同的场景下,this会化身不同的对象。有一种观点认为,只有正确掌握了 JavaScript 中的 this 关键字,才算是迈入了 JavaScript 这门语言的门槛。...