1.首先要明确:           谁最终调用函数,this指向谁           this指向的永远只可能是对象!!!!!          this指向谁永远不取决于this写在哪,而取决于函数在哪里调用!          this指向的对象,我们称之为函数的上下文context,也叫做函数的调用者是谁!   2.this指向的规律(与函数调用的方式息息相关)   this指向的情况取决于函数调用的方式有哪些(总结如下):       2.1.通过函数名()直接调用--this…
  1.首先要明确:           谁最终调用函数,this指向谁           this指向的永远只可能是对象!!!!!          this指向谁永远不取决于this写在哪,而取决于函数在哪里调用!          this指向的对象,我们称之为函数的上下文context,也叫做函数的调用者是谁!   2.this指向的规律(与函数调用的方式息息相关)   this指向的情况取决于函数调用的方式有哪些(总结如下):       2.1.通过函数名()直接调用--this…
在学习js时,应该先了解下this关键字,关于js中的this关键字和其他的面向对象语言中的this是不同的,比如在java中,this指的的是当前对象,而在js中,w3c是这样规定的: 关键字 this this 的功能 在 ECMAScript 中,要掌握的最重要的概念之一是关键字 this 的用法,它用在对象的方法中.关键字 this 总是指向调用该方法的对象,例如: var oCar = new Object; oCar.color = "red"; oCar.showColo…
this是js的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. 情形1:如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window,这里需要说明的是在js的严格版中this指向的不是window. 情形2:如果一个函数中有this,这个函数有被上一级的对象所调用,那么this指向的就是上一级的对象. 情形3:如果一个函数中有this,这个函数中包含多个对象,尽管这个函数是被最外层的对象所调用,…
昨天压缩Js文件时发现了项目中的一个prototype的问题代码如下所示: 1. <script> var XXX = function(){ }; var x1 = new XXX(); XXX.prototype.fnx = function(){ alert("123"); } x1.fnx(); </script> 2. <script> var XXX = function(){ }; var x1 = new XXX(); XXX.pro…
---恢复内容开始--- this是JavaScript中的关键字之一,在编写程序的时候经常会用到,正确的理解和使用关键字this尤为重要.接下来,笔者就从作用域的角度粗谈下自己对this关键字的理解,希望能给到大家一些启示,权当交流之用. 全局作用域中的this 本文将以作用域由外至内的方式逐步理解this关键字.首先,看下面这行代码: console.log(this); // Window {top: Window, location: Location, document: docume…
研究生毕业答辩完,开始继续为转行努力.小白要奋斗了,加油.本文引自JS核心系列:浅谈函数的作用域. 在一个函数中,this总是指向当前函数的所有者对象,this总是在运行时才能确定其具体的指向, 也才能知道它的调用对象. window.name = "window"; function f(){ console.log(this.name); } f();//输出window var obj = {name:'obj'}; f.call(obj); //输出obj 在执行f()时,此时…
new 操作符 在有上面的基础概念的介绍之后,在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在javascript中,我们将这类方式成为Pseudoclassical.基于上面的例子,我们执行如下代码   var obj = new Base(); 这样代码的结果是什么,我们在Javascript引擎中看到的对象模型是: new操作符具体干了什么呢?其实很简单,就干了三件事情. var obj  = {}; obj.__proto__ = Base.prot…
this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如, 复制代码 代码如下: function test(){ this.x = 1; } 随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是,调用函数的那个对象. 下面分四种情况,详细讨论this的用法. 情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global. 请看下面这段代码,它的运行结果是1.…
var test1 = { name: 'windseek1', showname: function () { console.log(this.name); } } var test2 = { name:'windseek2', showname: test1.showname } test2.showname() 运算结果是windseek2,由于test2.showname=test1.showname所以test2.showname()=test1.showname(); test2.…