最近做的项目中遇到了在箭头函数里使用this时报错的问题,把箭头函数的写法改成function()后,this的指向才达到预期。关于这个问题值得研究一下。 在箭头函数出现之前的ES5时代,this指向它的调用者。是哪个对象调用了这个属性或方法,this就指向这个对象。这有 ...
es 对象内函数一般有两种写法: 输出: person 的写法,类似于: this指向当前调用此方法的对象 person 的写法,使用了箭头函数,箭头函数的this指向当前的执行环境 创建它时所处的上下文 箭头函数可以捕获其所在上下文的this值 ,这里当然是window对象,箭头函数并没有自己的this值,它的this继承自外围作用域。 备注:call,apply,bind对es 中的this, ...
2017-10-10 14:14 0 3575 推荐指数:
最近做的项目中遇到了在箭头函数里使用this时报错的问题,把箭头函数的写法改成function()后,this的指向才达到预期。关于这个问题值得研究一下。 在箭头函数出现之前的ES5时代,this指向它的调用者。是哪个对象调用了这个属性或方法,this就指向这个对象。这有 ...
全局环境下,指向windows console.log(this.document === document); // true 函数上下文调用 function f1(){ return this; } f1() === window; // true 对象中 ...
箭头函数中this的指向问题 箭头函数不会改变this的指向,在它外面拿到的this是什么,它里面获取到的就是什么 setTimeout方法挂载在window上面,高程中写道,超时调用的代码都是在全局作用域下执行,非严格模式下this指向window对象,严格模式下为undefined ...
对于this的指向问题还是有点不太清除,这里做一下整理,方便以后查看 普通函数的this 1.普通函数的this指向的是它的调用者,谁调用这个this,,this就指向谁,比如obj,fn,这里fn最外层的this就指向obj 2.如果没有调用者,那这个this就指向window 3. ...
箭头函数(=>):函数简写 无参数:() => {} 单个参数:x => {} 多个参数:(x, y) => {} 解构参数:({x, y}) => {} 嵌套使用:部署管道机制 this指向固定化 ...
普通函数:this指向分为4种情况,1. obj.getName();//指向obj2.getName();//非严格模式下,指向window,严格模式下为undefined3. var a = new A(); a();//指向A本身4.getName().apply(obj);//指向 ...
箭头函数有几个使用注意点。 (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 (2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。 (3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用Rest参数代替 ...
本文地址:http://www.cnblogs.com/dongcanliang/p/7054176.html 前言 this 指向问题是入坑前端必须了解知识点,现在迎来了ES6时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,遂有此文 在非箭头函数下, this 指向调用 ...