首先要明白箭头函数的作用: 箭头函数除了让函数的书写变得很简洁,可读性很好外;最大的优点是解决了this执行环境所造成的一些问题。比如:解决了匿名函数this指向的问题(匿名函数的执行环境具有全局性),包括setTimeout和setInterval中使用this所造成的问题。 平时我们常见 ...
本文地址:http: www.cnblogs.com dongcanliang p .html 前言 this 指向问题是入坑前端必须了解知识点,现在迎来了ES 时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,遂有此文 在非箭头函数下, this 指向调用其所在函数的对象,而且是离谁近就是指向谁 此对于常规对象,原型链, getter amp setter等都适用 构造函数下, ...
2017-06-20 14:43 3 53673 推荐指数:
首先要明白箭头函数的作用: 箭头函数除了让函数的书写变得很简洁,可读性很好外;最大的优点是解决了this执行环境所造成的一些问题。比如:解决了匿名函数this指向的问题(匿名函数的执行环境具有全局性),包括setTimeout和setInterval中使用this所造成的问题。 平时我们常见 ...
全局环境下,指向windows console.log(this.document === document); // true 函数上下文调用 function f1(){ return this; } f1() === window; // true 对象中 ...
箭头函数中this的指向问题 箭头函数不会改变this的指向,在它外面拿到的this是什么,它里面获取到的就是什么 setTimeout方法挂载在window上面,高程中写道,超时调用的代码都是在全局作用域下执行,非严格模式下this指向window对象,严格模式下为undefined ...
最近做的项目中遇到了在箭头函数里使用this时报错的问题,把箭头函数的写法改成function()后,this的指向才达到预期。关于这个问题值得研究一下。 在箭头函数出现之前的ES5时代,this指向它的调用者。是哪个对象调用了这个属性或方法,this就指向这个对象。这有 ...
对于this的指向问题还是有点不太清除,这里做一下整理,方便以后查看 普通函数的this 1.普通函数的this指向的是它的调用者,谁调用这个this,,this就指向谁,比如obj,fn,这里fn最外层的this就指向obj 2.如果没有调用者,那这个this就指向window 3. ...
es6对象内函数一般有两种写法: 输出: person1的写法,类似于: this指向当前调用此方法的对象 person2的写法,使用了箭头函数,箭头函数的this指向当前的执行环境(创建它时所处的上下文)(箭头函数可以捕获其所在上下文的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参数代替 ...