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

es6箭头函数详解_es6的新特性

大家好,又见面了,我是你们的朋友全栈君。 ES6标准新增了一种新的函数:Arrow Function(箭头函数)。...使用ES6箭头函数语法定义函数,将原函数的“function”关键字和函数名都删掉,并使用“=>”连接参数列表和函数体。...注意,用小括号包含大括号则是对象的定义,而非函数主体 x => {key: x} // 报错 x => ({key: x}) // 正确 箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别...:箭头函数内部的this是词法作用域,由上下文确定。...在监听点击事件的回调函数中,就无法获取到当前点击的元素咯,详见《正确使用箭头函数——什么时候不该用ES6箭头函数》) 总的来说,箭头函数只是一种函数的简写,有其利弊,可用可不用,看大家心情,当然也得用的正确

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

    这10个JavaScript 知识点,建议每个前端开发者都要深入理解

    要创建一个Promise,您可以使用Promise构造函数,它接受一个带有两个参数(resolve和reject)的回调函数。...它接受一个回调函数作为参数,该函数接收解决后的值作为参数。您可以链接多个then()调用来对解决后的值执行顺序操作或转换。 catch()方法用于处理Promise的拒绝。...它接受一个回调函数作为参数,该函数接收拒绝的原因(错误)作为参数。通常在Promise链的末尾使用catch()来处理异步操作期间发生的任何错误。...Reflect.set(target, property, value): 将目标对象中指定属性的值设置为新值。...接下来,我们使用Proxy构造函数创建一个代理对象,将obj作为目标对象和handler对象传递给它。 然后,我们通过代理访问属性(name和age),并为age属性设置一个新值。

    28830

    【愚公系列】2023年03月 其他-Web前端基础面试题(JS_高级_47道)

    29、箭头函数和普通函数的区别 30、同步和异步的区别 31、什么叫优雅降级和渐进增强?...三次握手原理: 第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端; 第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了; 第...29、箭头函数和普通函数的区别 (1)普通函数 可以通过bind、call、apply改变this指向 可以使用new (2)箭头函数 本身没有this指向, 它的this...在定义的时候继承自外层第一个普通函数的this 被继承的普通函数的this指向改变,箭头函数的this指向会跟着改变 箭头函数外层没有普通函数时,this指向window...40、描述new一个对象的过程 (1)创建一个新对象,新对象的隐式原型__proto__指向new的构造函数的显示原型proptotype (2)改变this指向,将构造函数的作用域赋给新的对象,并且执行构造函数的代码

    48720

    ES6篇(下)

    一、箭头函数1、概念及格式一种定义函数的方式,有点抽象,拿代码例子来观察一下吧(1)以往的函数定义 const 函数名= function(){代码块};(2)箭头函数的定义...obj对象const obj={ say:eat,}obj.say();//window图片二、函数初始值1、形参初始化(一般设置的初始值位置放在比较后面)(1)普通函数const sumNumber...(2)arguments:获取所有传入的数据,注意在箭头函数内是没有arguments的,因为箭头函数的this始终指向的是window2、代码例子(1)ES5写法const fn = function...,需要传入回调函数,在请求成功后,通过回调函数返回数据(2)但是上面的方法仅限于一个网络请求,当网络复杂时就会出现问题,因此引入promise方法3、promise的使用(1)两个参数①resolve:...成功的返回值,会通过.then捕获数据②reject:失败的返回值,会通过.catch捕获数据(2)三种状态①peding:等待状态,如:等待网络请求结束,定时器没有到时间②fullfill:满足状态,

    33610

    字节前端面试题

    pathRewrite:默认情况下,我们的 /api-hy 也会被写入到URL中,如果希望删除,可以使用pathRewritesecure:默认情况下不接收转发到https的服务器上,如果希望支持,可以设置为...,initial-scale 设置为 0.5rem 按照设计稿标准走即可 ----问题知识点分割线---- 如果new一个箭头函数的会怎么样箭头函数是ES6中的提出来的,它没有prototype,也没有自己的...)返回新的对象所以,上面的第二、三步,箭头函数都是没有办法执行的。...第一个回调函数是Promise对象的状态变为resolved时调用,第二个回调函数是Promise对象的状态变为rejected时调用。其中第二个参数可以省略。...,this永远指向最后调用他的那个对象;构造函数中,this指向new出来的那个新的对象;call、apply、bind中的this被强绑定在指定的那个对象上;箭头函数中this比较特殊,箭头函数this

    1.8K20

    前端相关片段整理——持续更新

    箭头函数: 函数内的this对象,是定义时所在的对象,不是使用时所在的对象 不可当构造函数 用rest代替argument this指向一般可变,但在箭头函数中固定 简单,单行,不会复用的函数建议使箭头函数...时,状态无法得知 Promise.all 接收 Promise 数组为参数,将多个Promise实例,包装成一个新的Promise实例,所有 resolve ,返回所有值 在不同的接口请求数据然后拼合成自己所需的数据...Promise.race 它同样接收一个数组,不同的是只要该数组中的 Promise 对象的状态发生变化(无论是 resolve 还是 reject)该方法都会返回 async/await async...保持处理程序上下文的一个小技巧是将其设置到闭包内的一个变量,当在上下文改变的地方调用一个函数时,如setTimeout,你仍然可以通过该变量引用需要的对象。...箭头函数中的this 箭头函数没有自己的this, 它的this是继承而来 默认指向在定义它时所处的对象(宿主对象),而不是执行时的对象, 定义它的时候,可能环境是window 箭头函数可以方便地让我们在

    1.4K10

    PromiseasyncGenerator实现原理解析

    _rejectQueue = [] // then收集的执行失败的回调队列 // 由于resolve/reject是在executor内部被调用, 因此需要使用箭头函数固定this指向...状态的变更是单向的,只能从Pending -> Fulfilled 或 Pending -> Rejected,状态变更不可逆 then方法接收两个可选参数,分别对应状态改变时触发的回调。...如果该值为promise,返回这个promise;如果这个值是thenable(即带有"then" 方法)),返回的promise会“跟随”这个thenable的对象,采用它的最终状态;否则返回的promise...()方法返回一个带有拒绝原因的Promise对象。...由于Generator出现不久就被async/await取代了,很多同学对Generator比较陌生,因此我们先来看看Generator的用法: ❝ES6 新引入了 Generator 函数,可以通过

    1.9K30

    社招前端二面面试题

    服务器端接收到请求后,确认双方使用的加密方法、并给出服务器的证书、以及一个服务器生成的随机数。客户端确认服务器证书有效后,生成一个新的随机数,并使用数字证书中的公钥,加密这个随机数,然后发给服 务器。...但是由于箭头函数时没有自己的this的,且this指向外层的执行环境,且不能改变指向,所以不能当做构造函数使用。(6)箭头函数没有自己的arguments箭头函数没有自己的arguments对象。...rejected 状态的新 Promsie,且它的值是第一个 rejected 的 Promise 的值;只要有一个 Promise 是 pending,则返回一个 pending 状态的新 Promise...:所有 Promise 的状态都变化了,那么新返回一个状态是 fulfilled 的 Promise,且它的值是一个数组,数组的每项由所有 Promise 的值和状态组成的对象;如果有一个是 pending...状态的,则返回第一个是 fulfilled 的新实例;其他情况都会返回一个 pending 的新实例;Promise.any = function(promiseArr) { let index

    81420

    总结了38个ES6-ES12的开发技巧,看看你能拿几分?

    fn = function () {} 复制代码 ES6新加了箭头函数 const fn = () => {} // 如果只有一个参数,可以省略括号 const fn = name => {}...如果返回的是对象 const fn = name => ({ name: name }) 复制代码 普通函数和箭头函数的区别: 1、箭头函数不可作为构造函数,不能使用new 2、箭头函数没有自己的this...3、箭头函数没有arguments对象 4、箭头函数没有原型对象 8、Array.forEach ES6新加的数组遍历方法 const eachArr = [1, 2, 3, 4, 5] // 三个参数...复制代码 27、Promise.finally 新增的Promise方法,无论失败或者成功状态,都会执行这个函数 // cheng new Promise((resolve, reject) => {...ES11新增的Promise的方法 接收一个Promise数组,数组中如有非Promise项,则此项当做成功 把每一个Promise的结果,集合成数组,返回 function fn(time, isResolve

    51430

    Promise对象

    是带有resolve和reject两个参数的函数。...缺点:无法取消Promise,一旦新建它就会立即执行,无法中途取消;如果不设置回调函数,Promise内部抛出的错误,不会反应到外部;当处于pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成...实例 Promise可以进行链式调用,避免过多的异步操作造成的回调地狱,then()函数默认会返回一个和原来不同的新的Promise。...这个新的promise对象在触发成功状态以后,会把一个包含iterable里所有promise返回值的数组作为成功回调的返回值,顺序跟iterable的顺序保持一致;如果这个新的promise对象触发了失败状态...当这个回调函数被调用,新promise将以它的返回值来resolve,否则如果当前promise进入fulfilled状态,则以当前promise的完成结果作为新promise的完成结果。

    56910

    重温前端-js篇

    ,所以如果想确定this的指向,则找到离箭头函数最近的function,与该function平级的执行上下文中的this即是箭头函数中的this) 箭头函数无法使用apply、call和bind方法改变...(1) 如果then中的回调函数返回一个值,那么then返回的Promise将会成为接受状态,并且将返回的值作为接受状态的回调函数的参数值。...,那么then返回的Promise也会成为接受状态,并且将那个Promise的接受状态的回调函数的参数值作为该被返回的Promise的接受状态回调函数的参数值。...Promise,那么then返回的Promise也会成为拒绝状态,并且将那个Promise的拒绝状态的回调函数的参数值作为该被返回的Promise的拒绝状态回调函数的参数值。...(p); console.log(p === p2); //true (2) 如果参数是thenable对象(即带有then方法的对象),则返回的Promise对象的最终状态由then方法的执行决定;

    5.4K10

    2020面试题--小试牛刀

    ,当没有引用变量引用它时,系统的垃圾回收机制会回收它 *问题:知道箭头函数和普通函数的区别吗?...箭头函数是匿名函数,不能作为构造函数,不能使用new 箭头函数不绑定arguments,取而代之用rest参数…解决 箭头函数不绑定this,会捕获其所在的上下文的this值,作为自己的this值 箭头函数通过...箭头函数没有原型属性 箭头函数不能当做Generator函数,不能使用yield关键字 *问题:es6特性了解多少?...undefined 是 Undefined 类型的唯一值,它表示未定义的值。当声明变量未赋值时,或者定义属性未设置值时,默认值都为 undefined。 *问题:promise是什么?...答:Promise是异步编程的一种解决方案 Promise对象有以下2个特点: 1.对象的状态不受外界影响。

    1.1K20

    前端面试题合集

    3、then方法返回一个新的Promise实例,并接收两个参数onResolved(fulfilled状态的回调);onRejected(rejected状态的回调,该参数可选)4、catch方法返回一个新的...Promise实例5、finally方法不管Promise状态如何都会执行,该方法的回调函数不接受任何参数6、Promise.all()方法将多个多个Promise实例,包装成一个新的Promise实例...Promise.resolve方法返回一个新的Promise对象,状态为fulfilled,其参数将会作为then方法中onResolved回调函数的参数,如果Promise.resolve方法不带参数...3)Promise缺点1、无法取消Promise,一旦新建它就会立即执行,无法中途取消。2、如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。...WebSocket原理:客户端向 WebSocket 服务器通知(notify)一个带有所有接收者ID(recipients IDs)的事件(event),服务器接收后立即通知所有活跃的(active)

    79820

    校招前端二面经典面试题(附答案)_2023-03-02

    最常用的就是调用一个函数: let fn = () => void doesNotReturn() (2) 箭头函数没有自己的this 箭头函数不会创建自己的this,所以它没有自己的this...(3)箭头函数继承来的this指向永远不会改变 (4) call()、apply()、bind()等方法不能改变箭头函数中的this指向 (5) 箭头函数不能作为构造函数使用 (6) 箭头函数没有自己的...,由于没有代码块,你不能在⼀个返回表达式的箭头函数中设置断点,如果你在⼀个.then代码块中使⽤调试器的步进(step-over)功能,调试器并不会进⼊后续的.then代码块,因为调试器只能跟踪同步代码的每...(2)函数执行上下文 当一个函数被调用时,就会为该函数创建一个新的执行上下文,函数的上下文可以有任意多个。...函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

    83640

    模拟实现 Promise(小白版)

    ,类型任意,值就是任务结束需要通知给回调的结果,通过调用 task 处理函数的参数(类型是函数)传递过来 then 方法返回一个新的 Promise,以便支持链式调用,新 Promise 状态的变化依赖于回调函数的返回值...,既要返回一个新的 Promise,这个新的 Promise 的状态和结果又要依赖于回调函数的返回值,而回调函数的执行又要看情况是缓存进回调函数队列里,还是直接取依赖的 Promise 的状态结果后,丢到微任务队列里去执行...,接收两个可选参数,用于注册回调处理,所以类型也是函数,且有一个参数,接收 Promise 执行结果,同时可返回任意值,作为新 Promise 的执行结果 */ then(onResolved, onRejected...) { // then 方法返回一个新的 Promise,新 Promise 的状态结果依赖于回调函数的返回值 return new Promise((resolve, reject)...) { // then 方法返回一个新的 Promise,新 Promise 的状态结果依赖于回调函数的返回值 return new Promise((resolve,

    1.4K20

    前端常见面试题总结_2023-02-23

    (取决于调用者,和是否独立运行) 箭头函数使用被称为 “胖箭头” 的操作 => 定义,箭头函数不应用普通函数 this 绑定的四种规则,而是根据外层(函数或全局)的作用域来决定 this,且箭头函数的绑定无法被修改...Vue路由守卫有哪些,怎么设置,使用场景等 常用的两个路由守卫:router.beforeEach 和 router.afterEach 每个守卫方法接收三个参数: to: Route: 即将要进入的目标...Promise.all 的规则是这样的: 传入的所有 Promsie 都是 fulfilled,则返回由他们的值组成的,状态为 fulfilled 的新 Promise; 只要有一个 Promise...的规则是这样: 所有 Promise 的状态都变化了,那么新返回一个状态是 fulfilled 的 Promise,且它的值是一个数组,数组的每项由所有 Promise 的值和状态组成的对象; 如果有一个是...fulfilled 状态的,则返回第一个是 fulfilled 的新实例; 其他情况都会返回一个 pending 的新实例; Promise.any = function(promiseArr) {

    77310

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券