首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    普通函数与箭头函数

    一、区别 箭头函数是匿名函数,不能作为构造函数,不能使用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] 箭头函数不绑定...Generator函数,不能使用yield关键字 二、JS this指向问题 普通函数的this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象...箭头函数比较特殊没有调用者,不存在this.箭头函数()的概念,但是它内部可以有this,而内部的this由上下文决定 例子1: var o = { user:"追梦子", fn:function

    98240

    揭秘箭头函数

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

    1.1K20

    探索 JavaScript 函数:普通函数、箭头函数和生成函数

    本文将深入探讨每种函数类型,探索它们的语法、行为和使用场景。普通函数:普通函数,也被称为传统函数或函数声明,在 JavaScript 自早期以来就一直是重要组成部分。...普通函数的使用广泛且适用于各种场景,使其成为 JavaScript 开发的重要组成部分。箭头函数:箭头函数是在 ECMAScript 6(ES6)中引入的,与普通函数相比,它们提供了更简洁的语法。...箭头函数的语法如下:const add = (a, b) => a + b;箭头函数的主要特点包括:无 function 关键字:箭头函数使用更简洁的语法,省略了需要 function 关键字的部分。...不绑定 this、arguments、super 或 new.target:箭头函数不会为这些值创建自己的绑定。箭头函数在回调函数和函数式编程范式等需要简洁性和词法作用域的场景中特别有用。...:生成器函数使用 yield 关键字暂停函数的执行,并向调用者返回一个值。

    18800

    普通函数和箭头函数的区别

    就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深… 普通函数和箭头函数的区别: 箭头函数的this指向规则: 箭头函数没有prototype(原型),所以箭头函数本身没有this...箭头函数的this指向全局,使用arguments会报未声明的错误 如果箭头函数的this指向window(全局对象)使用arguments会报错,未声明arguments。...箭头函数的this指向全局对象,在箭头函数中使用箭头函数会报错 let a = () => { console.log(new.target); // 报错:new.target 不允许在这里使用...考虑代码的可读性,使用普通函数 函数体复杂: 具体表现就是箭头函数中使用多个三元运算符号,就是不换行,非要在一行内写完,非常恶心!...箭头函数的this指向全局,使用arguments会报未声明的错误。

    86130

    面试官:箭头函数和普通函数的区别?箭头函数的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 当然箭头函数与普通函数的区别还有很多

    55830

    js 箭头函数详解

    认识箭头函数 es6 新增了使用胖箭头(=>)语法定义函数表达式的能力,很大程度上,箭头函数实例化的函数对象与正式的函数表达式创建的函数对象行为是相同的。...任何可以使用函数表达式的地方,都可以使用箭头函数: // 普通函数 let sum = function(a, b) { return a + b; } // 箭头函数 let sum1 =...(a, b) => { return a + b; } 箭头函数简洁的语法对开发者来说是十分友好的,从上面的例子可以得知箭头函数的简单用法: (参数) => { 函数体 } 2....省略包含函数体的大括号 箭头函数也可以不用大括号,但这样会改变函数的行为。使用大括号就说明包含“函数体”,可以在一个函数中包含多条语句,跟常规的函数一样。...箭头函数不能使用arguments 如果函数是使用箭头语法定义的,那么传给函数的参数将不能使用 arguments 关键字访问: // 普通函数 let sum = function() { return

    1.2K10
    领券