首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

箭头函数

箭头函数(★★★) ES6中新增的定义函数的方式。...this关键字,箭头函数中的this,指向的是函数定义位置的上下文this const obj = { name: '张三'} function fn () { console.log(...this);//this 指向 是obj对象 return () => { console.log(this);//this 指向 的是箭头函数定义的位置,那么这个箭头函数定义在...this,箭头函数中的this指向是它所定义的位置,可以简单理解成,定义箭头函数中的作用域的this指向谁,它就指向谁 箭头函数的优点在于解决了this执行环境所造成的一些问题。...,而对象没有作用域的,所以箭头函数虽然在对象中被定义,但是this指向的是全局作用域 剩余参数(★★) 剩余参数语法允许我们将一个不定数量的参数表示为一个数组,不定参数定义方式,这种方式很方便的去声明不知道参数情况下的一个函数

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

揭秘箭头函数

://javascript.plainenglish.io/demystifying-javascript-arrow-functions-7b2a0908a2b3 通过掘金翻译计划活动进行翻译 箭头函数函数表达式的替代方法...如果您还没有阅读 JavaScript 中的函数表达式,我建议您在继续阅读之前先阅读这篇文章。 现在,让我们试着从语法、执行、作用域和提升以及代码示例方面来理解箭头函数。 1....主要区别在于函数的编写方式。 以下是我们可以根据其语法从上述代码中得出的观察结果: 它不包含 function 关键字。 它没有 函数名 ,这意味着这些是匿名函数。 引入了箭头 => 符号。...根据箭头函数的语法,如果函数只接受一个参数,可以忽略括号()。如果函数只包含一条语句,则可以忽略块{},最后其实也可以忽略return ,如果函数只包含一个语句。 2....与普通函数相比,主要区别在于 this 的声明。 箭头函数没有自己的 this 变量; this 在箭头函数中使用时会得到词法解析。 在创建阶段之后不久,执行阶段开始。

1.1K20

普通函数箭头函数

一、区别 箭头函数是匿名函数,不能作为构造函数,不能使用new let FunConstructor = () => { console.log('lll'); } let fc = new...FunConstructor(); 箭头函数不绑定arguments,取而代之用rest参数...解决 function A(a){ console.log(arguments); } A(1,2,3,4,5,8...is not defined let C = (...c) => { console.log(c); } C(3,82,32,11323); // [3, 82, 32, 11323] 箭头函数不绑定...箭头函数比较特殊没有调用者,不存在this.箭头函数()的概念,但是它内部可以有this,而内部的this由上下文决定 例子1: var o = { user:"追梦子", fn:function...首先new关键字会创建一个空的对象,然后会自动调用一个函数apply方法,将this指向这个空对象,这样的话函数内部的this就会被这个空的对象替代

96240

js 箭头函数详解

认识箭头函数 es6 新增了使用胖箭头(=>)语法定义函数表达式的能力,很大程度上,箭头函数实例化的函数对象与正式的函数表达式创建的函数对象行为是相同的。...任何可以使用函数表达式的地方,都可以使用箭头函数: // 普通函数 let sum = function(a, b) { return a + b; } // 箭头函数 let sum1 =...(a, b) => { return a + b; } 箭头函数简洁的语法对开发者来说是十分友好的,从上面的例子可以得知箭头函数的简单用法: (参数) => { 函数体 } 2....箭头函数不能使用arguments 如果函数是使用箭头语法定义的,那么传给函数的参数将不能使用 arguments 关键字访问: // 普通函数 let sum = function() { return...注意:简单对象(非函数)是没有执行上下文的! 如果fn1也是个箭头函数呢?

1.2K10

面试官:箭头函数和普通函数的区别?箭头函数的this指向哪里?

一、箭头函数更直观、简洁 箭头函数为匿名函数 let a = () => {} 有一个参数可省略(),多个的话不能省略(),用 ,号分开 let a = m => {} let b = (m, n...this 的执行环境') // 当前对象 test } } people.fn() people.fn2() 结果: 四、箭头函数没有prototype let a = () => 1 let...arguments,值是有外围非箭头函数所决定的 // 报错 let a = (m) => { console.log(arguments) } a(1,2,3) // arguments is...not defined // 值是有外围非箭头函数所决定的 function fn(){ let f = ()=> { console.log(arguments) } f();...) // 1,2,3 六、箭头函数不能当做Generator函数,不能使用yield关键字 箭头函数的this指向为其上下文的this,一级一级往上找,直到找到 window 当然箭头函数与普通函数的区别还有很多

51930

普通函数箭头函数的区别

详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景 箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。...下面栗子中在一个函数中定义箭头函数,然后在另一个函数中执行箭头函数。...答案是:ES6的rest参数(…扩展符) rest参数获取函数的多余参数 这是ES6的API,用于获取函数不定数量的参数数组,这个API是用来替代arguments的,API用法如下: let a =...箭头函数的this指向普通函数时,它的argumens继承于该普通函数 使用new调用箭头函数会报错,因为箭头函数没有constructor 箭头函数不支持new.target 箭头函数不支持重命名函数参数...,普通函数函数参数支持重命名 箭头函数相对于普通函数语法更简洁优雅 箭头函数的注意事项及不适用场景 箭头函数的注意事项: 箭头函数一条语句返回对象字面量,需要加括号 箭头函数在参数和箭头之间不能换行

83130

Salesforce Javascript(二) 箭头函数

., param]]]) { [statements] } 这种函数好处是可重用,但是有时候我们需要的只是完成某种特定功能的一个匿名的函数,不需要其他人调用,这时候我们可以考虑箭头函数,他的优点是比函数表达式更简洁...这里的 reduce方法里面需要添加的就是一个函数,我们在这里就使用箭头函数去搞定这个功能,使整体代码看上去更简洁。两个参数使用()来包含,方法体使用大括号{}来包含逻辑。...elements.map(element => { return element.length; }); // [8, 6, 7, 9] // 当箭头函数函数体只有一个 `return` 语句时...,可以省略 `return` 关键字和方法体的花括号 elements.map(element => element.length); // [8, 6, 7, 9] 除了这种方式的箭头函数箭头函数也可以有一个简写体或者常见的块体...* x; 所以来一个进行练习,下面是使用箭头函数声明的函数,常规函数应该写成什么呢?

69631

箭头函数与this指向探究

——柴陵郁禅师 今天研究了下箭头函数与this,发现了一些挺好玩的特性 首先,我们在控制台输入上这段js var handler = { name :'handler', init...// init4: {name: 'handler', init: ƒ} } init3.apply(); }, }; handler.init(); 可以明显的看到,箭头函数是锁定了...this指向的,这里的箭头函数中的this都指向这个handler对象 而使用function声明的函数中的this永远指向外部的window对象 我们再到webpack构建的vue项目中尝试 printThis...options: {…}, _renderProxy: Proxy, _self: VueComponent, …} print6.call(); }; print5(); } 可以看到这里的箭头函数中的...this都为undefined 而使用function声明的函数仍然指向当前Vue组件实例 了解这个特性,能清楚this的具体指向,方便后续前端开发

42510

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券