首页 > 其他分享 >js箭头函数

js箭头函数

时间:2023-09-11 12:34:35浏览次数:29  
标签:aFn obj 函数 作用域 js 箭头 let console

箭头函数中 this 的行为与常规函数的 this 行为有很大不同。

无论如何执行或在何处执行,箭头函数内部的 this 值始终等于外部函数的 this 值。

换句话说,箭头函数可按词法解析 this,箭头函数没有定义自己的执行上下文。

(1). 格式:参数 => 表达式/语句

let a = b => b *2;
let a = b => {
   return b * 3;   // 加了大括号,就需要return,否则值不会返回
}

(2). 继承外层作用域,没有独立作用域.

var obj = {
   aFn: function() {
      console.log(this);    // this指向的是它的调用者(obj.aFn()),即obj对象
   },
   bFn: () => {
      console.log(this);    // 这个函数是没有作用域的,与obj是共享一个作用域的,所以指向obj所在的作用域window
   }
}
obj.aFn();   // {aFn: ƒ, bFn: ƒ},输出obj本身
obj.bFn();   // Window {parent: Window, opener: null, top: Window, length: 11, frames: Window, …},输出window作用域

(3). 不能用作构造函数.

let Test = function() {}
let test = new Test();
console.log(test)    // Animal {}

let Test = () => {}
let test = new Test();   // Uncaught TypeError: Animal is not a constructor

(4). 没有prototype属性.

let aFn = function(){};
let b = () => {};
console.log(aFn.prototype);   // {constructor: ƒ},指向了构建函数
console.log(b.prototype);     // undefined

标签:aFn,obj,函数,作用域,js,箭头,let,console
From: https://blog.51cto.com/u_16255561/7434740

相关文章

  • 无涯教程-JavaScript - FVSCHEDULE函数
    描述FVSCHEDULE函数在应用一系列复合利率后返回初始本金的未来值。使用FVSCHEDULE以可变或可调汇率计算投资的未来价值。语法FVSCHEDULE(principal,schedule)争论Argument描述Required/OptionalPrincipalThepresentvalue.RequiredScheduleAnarrayofinterest......
  • 前端科普系列-CommonJS:不是前端却革命了前端
    前端科普系列-CommonJS:不是前端却革命了前端无名之辈一个有代码洁癖的前端小开发,热爱生活,追求极致​关注他 498人赞同了该文章摘要本系列文章旨在帮助学习者了解前端,主要覆盖前端的基础知识,但不深入讲解,定位为大而全并非细而精,适合非前端开发的同......
  • Golang 日期处理丶函数执行耗时丶内置函数
    一.日期处理1functestDate(){2//获取当前时间3now:=time.Now()4fmt.Printf("当前时间:%v,时间的类型:%T\n",now,now)5fmt.Printf("当前时间的年=%v月=%v日=%v时=%v分=%v秒=%v\n",now.Year(),int(now.Month()),now.Day(),now.Hour(......
  • canvas+js接金币小游戏
    忙里偷闲,让UI小伙伴帮忙搞了几个图片元素,利用飞机大战代码进行修改,做个接金币小游戏~varcanvas=document.getElementById("canvas");varcontext=canvas.getContext("2d");varimgWidth=window.innerWidth;varimgHeight=window.innerHeigh......
  • nodejs的安装和环境配置
    安装nodejsWindows下载安装包下载地址:https://nodejs.org/zh-cn/download安装nodejs软件本次安装在D盘,路径D:\ProgramFiles\nodejs新建全局路径和缓存路径在nodejs的安装目录下,新建node_global和node_cache文件夹。配置nodejs的configprefix和cache路径使用管理......
  • 检查Oracle中是否是“数字”函数,Oracle11时候,报is_number 无效的运算符,使用lenth( )
    检查Oracle中是否是“数字”函数原文链接:https://www.jb51.cc/oracle/207329.html我试图检查来自oracle(10g)查询中的列的值是否是一个数字,以便进行比较。就像是:selectcasewhen(is_number(myTable.id)and(myTable.id>0))then'Isanumbergreaterth......
  • ORACLE内置函数
    ORACLE内置函数原文链接:https://blog.csdn.net/m0_63300795/article/details/124473586目录一,内置函数的分类.二,转换函数三,日期函数四,字符函数五,数学函数六,聚合函数一,内置函数的分类.内置函数:Oracle自带的函数,我能只需要去调用就可以了。Oracle里面的内置函数分为......
  • §3. 参变量函数的导数
    掌握参变量方程的求导法则。记住参变量函数的求导公式,和极坐标下向径与切线的夹角的正切公式.  等角螺线、对数螺线或生长螺线是在自然界常见的螺线,在极坐标系(r,θ)中,这个曲线可以写为或  因此叫做“对数”螺线。之所以叫等角螺线,是因为在极坐标中,螺线和射线的夹角始终......
  • js
    js书写位置标签内,head之间,link引进  html内部</body>上面  放在html底部的原因外部js:通过src引入外部js文件  内联:vue才学 ......
  • cnpm : 无法加载文件 C:\Program Files\nodejs\node_global\cnpm.ps1
    在win10上运行cnpm命令时出现:cnpm:无法加载文件C:\ProgramFiles\nodejs\node_global\cnpm.ps1,因为在此系统上禁止运行脚本。解决办法记录如下: 在powershell中执行Start-Processpowershell-VerbrunAs会提示授权,并以管理员身份运行powershell 继续重新执行set-Ex......