JavaScript this 的指向问题】的更多相关文章

JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发JavaScript其实很难掌握,有些基本概念让人匪夷所思.其中JavaScript 中的 this 关键字,就是一个比较容易混乱的概念,在不同的场景下,this会化身不同的对象.有一种观点认为,只有正确掌握了 JavaScript 中的 this 关键字,才算是迈入了 JavaScript 这门语言的门槛.在主流的面向对象的语言中(例…
JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发现JavaScript其实很难掌握,有些基本概念让人匪夷所思.其中JavaScript 中的 this 关键字,就是一个比较容易混乱的概念,在不同的场景下,this会化身不同的对象.有一种观点认为,只有正确掌握了 JavaScript 中的 this 关键字,才算是迈入了 JavaScript 这门语言的门槛.在主流的面向对象的语言中(…
JavaScript对象的指向问题 标签(空格分隔): JavaScript 对象 在接触了JavaScript之后,我们常听到一句话就是一切皆对象,意思是说除了object以外,JavaScript中的字符串,数字,true,false,undefined,null,NaN,hash等等都是对象. 对象是可变的,意思是说我们通过引用而不是一个值来操作对象,下面用一段代码来看这个问题: var x={a:1};//这里声明一个对象X,里面包含属性a,它的值为1 var y=x;//这里声明一个变…
1.结论 JavaScript对象普通键(非指向函数的键)this指向是window. 2.示例 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />…
图解javascript的this指向 作者: HerryLo 本文永久有效链接: https://github.com/AttemptWeb...... 以下就只有两张图,请放心食用!! #简版this指向 #升级版this指向 #解释: 这里的上下文对象如下: function fn() {console.log('this指向:', this);} let Obj = { fn: fn } window.fn(); // 上下文对象调用, 等价于直接调用 fn() Obj.fn(); //…
在之前写代码的经历中,常常试过写着写着this就莫名其妙的不知道指向到哪里去了.今天看了曾探的javascript设计模式,里面特别谈到了this在不同情况下指代的对象,非常有意思. this指代的情况 this有以下4种情况: 1.对象.函数的形式调用:object.function(); 2.普通函数的形式调用:function(); 3.构造器调用; 4.Function.prototype.call或Function.prototype.apply调用; 1.对象.函数的形式调用 对象.…
前言 理解javascript的指针就需要先了解js的执行环境和作用域!执行环境的定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象,环境中定义的所有的变量和函数都保存在这个对象中.虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它. 1.全局执行环境 全局执行环境是最外围的一个执行环境,根据js实现的宿主环境的不同,表示执行环境的对象也不一样.在web浏览器中认为window就是全局执行的对象.因此所有的全局变量和函数都是作为w…
本文参考http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html this是JavaScript的一个关键字,它代表函数运行时自动生成的一个内部对象,只能在函数内部使用,比如: function test () { this.x = 1; } 随着函数使用场合的不同,this的指向会发生变化.但有一个总的原则就是,this指向最后一个调用函数的那个对象. 下面分四种情况,讨论一下this的用法: 情况…
JavaScript中this的四种情况(非严格模式) 1.当this所在函数是事件处理函数时,this指向事件源.2.当this所在函数是构造函数时,this指向new出来的对象.3.this所在函数的所属对象是谁,this指向函数所属对象.4.当this所在函数没有所属对象,this指向window对象 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g…
与我们常见的很多语言不同,JavaScript 函数中的 this 指向并不是在函数定义的时候确定的,而是在调用的时候确定的.换句话说,函数的调用方式决定了 this 指向. JavaScript 中,普通的函数调用方式有三种:直接调用.方法调用和 new 调用.除此之外,还有一些特殊的调用方式,比如通过 bind() 将函数绑定到对象之后再进行调用.通过 call().apply() 进行调用等.而 es6 引入了箭头函数之后,箭头函数调用时,其 this 指向又有所不同.下面就来分析这些情况…