白话js this指向问题】的更多相关文章

前言   通过本文,你大概能了解this基础指向的问题,抛开例子去说this太虚幻,这里还是结合几篇博文做个整理,算是个人的记录了. 先说概念,this指向与申明无关,永远指向距离自己最近的最终调用者.我们从几种调用情况去理解,下面看看例子理解下: 1.函数的直接调用 function a(){ '; console.log(this.age);//undefined console.log(this);//window } a(); 如上,我们申明一个函数,然后直接调用,a()前面没任何调用它…
在这里必须要提一句的是,this指向是学习js必须要掌握的(必须),再开始之前先看底部的总结,然后回上面看例子便一目了然. 例子1: function a(){ var user = "TangSir"; console.log(this.user); //undefined console.log(this); //Window } a();看总结第2条,这里函数本身没有被父级对象调用,那么这里就指向window function a(){ var user = "Tang…
正常模式 在正常模式下独立函数的的 this 指向 undefined 或 window. <script type="text/javascript"> function func() { return this.name; } var arg = { name: 'xxx', age: 20, }; r = func(); alert(r); </script> 说明: 这段代码的执行,会弹出没有内容的空白框,func中的this默认的window,但是wi…
<button onclick=(function(){alert(this)})()>I'm button</button>//this指代window <button onclick=(function(){alert(this)}).call(this)>I'm button,too</button>//通过call使this指向当前按钮元素 一个例子 <button onclick=(function(){this.innerHTML=this…
1.如果调用this的函数上级有多个对象,this只会指向上一级对象 下面实例fn函数调用this时,this指向b对象,如果b里面有a属性就输出值: 如果没有就是undefined 在来看下下面的实例 this指向要看最后调用的是谁 ,跟上面的例子不同 ,最后是用d函数调用的,这里this指向了全局变量a:'1'…
箭头函数中this对象就是定义时所在的作用域,也就是说箭头函数本身没有this,内部的this就是外层代码块作用域中的this. 1.独立函数 var a = 0var test = ()=> { var a = 1 console.log( 该箭头函数在全局环境中定义,即this指向window 2.对象的方法 var a = 0var obj = { a: 1, foo: ()=> { console.log(this.a) }}obj.foo() //0即:var a = 0var ob…
使用 JavaScript 开发的时候,很多开发者多多少少会被 this 的指向搞蒙圈,但是实际上,关于 this 的指向,记住最核心的一句话:哪个对象调用函数,函数里面的this指向哪个对象. 下面分几种情况谈论下 1.普通函数调用 这个情况没特殊意外,就是指向全局对象-window. let username='cn'function fn(){ alert(this.username);//undefined}fn(); 可能大家会困惑,为什么不是输出守候,但是在细看一看,我声明的方式是l…
JavaScript 作为一种脚本语言身份的存在,因此被很多人认为是简单易学的.然而情况恰恰相反,JavaScript 支持函数式编程.闭包.基于原型的继承等高级功能.由于其运行期绑定的特性,JavaScript 中的 this 含义要丰富得多,它可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式.JavaScript 中函数的调用有以下几种方式:作为对象方法调用,作为函数调用,作为构造函数调用,和使用 apply 或 call 调用.本文就采撷些例子以浅显说明在不同调用方式下的不…
this指向 普通函数  window 定时器函数         window 事件函数 事件源 箭头函数 父function中的this,没有就是window 对象函数 对象本身 构造函数 实例化对象       原型函数中的this 自定义函数 call.bind.apply Vue构造函数中的this      vm      methods方法中的this…
PS:之前的那篇博客Highcharts——让你的网页上图表画的飞起 ,评论中,花儿笑弯了腰 和 StanZhai 两位仁兄让我试试 ECharts ,去主页看到<Why ECharts ?>简单了解了一下之后,ECharts很快吸引了我.里面引自马云的那句话“互联网还没有搞清楚的时候,移动互联网来了,移动互联没有搞清楚的时候,大数据来了”我是第一次听到,实在震撼了我啊(孤陋寡闻...). 本来没打算写什么的.可是作为一个后端开发者,看了半天文档也迷迷糊糊,查了一堆资料也没搞懂Echarts那…