this和箭头函数的this
https://www.cnblogs.com/lfri/p/11872696.html
https://www.ruanyifeng.com/blog/2018/06/javascript-this.html
函数调用了,才会产生this。这个this,就是指向的是这个谁在调用这个函数。这个函数在这个谁的上下文环境下被调用了。然后在这个函数作用域内,可以通过this去访问这个谁。
这个this,虽然指向的是外部的上下文环境,但是这个this只存在在函数体内。
const obj = {
a: function () {
console.log(1111, this)
// 因为a函数被调用了,是在obj这个context调用,所以this就是obj
// function b () {
// console.log(1111, this)
// }
b = () => {
console.log(2222, this)
}
b()
// b.call() 这里的this肯定从外层传进来的。b()外层的this就是obj。
function c () {
console.log(3333, this)
}
c()
// c.call() 这里的参数没有传值,就是undefined,默认就会是window作为context,所以this就是window
}
}
obj.a()
// obj.a.call(obj)
this和箭头函数的this的更多相关文章
- ES6 箭头函数中的 this?你可能想多了(翻译)
箭头函数=>无疑是ES6中最受关注的一个新特性了,通过它可以简写 function 函数表达式,你也可以在各种提及箭头函数的地方看到这样的观点——“=> 就是一个新的 function”. ...
- ES6箭头函数与展开运算符
箭头函数:省去了关键字function和return: eg: reduce=(a,b)=>a+b;//返回a+b的值 redduce=(a,b)=>{console.log(a);con ...
- 箭头函数和Buffer对象
一.箭头函数 普通函数1 var add = function (a, b) { return a + b; } 普通函数2 function add (a, b) { return a + b; } ...
- 深入理解this机制系列第三篇——箭头函数
× 目录 [1]痛点 [2]解决 [3]基本用法[4]回调函数[5]注意事项 前面的话 this机制与函数调用有关,而作用域则与函数定义有关.有没有什么是可以将this机制和作用域联系起来的呢?本文将 ...
- Es6 箭头函数
1.单参数function cheng(a=3){ return a*a;}let cheng= (a=3)=>a*a;console.log(cheng(9));2.多参数functio ...
- 【javascript】箭头函数
ES6标准新增了一种新的函数:Arraw Function(箭头函数). x => x * x 这个函数相当于 function (x){ return x * x; } 题外话:user st ...
- JS中generater和箭头函数
generater跟函数很像: function* fn(x){ yield x; yield x++; return x;} 如上所示,generater用function*定义,可以用yield返 ...
- 箭头函数 Arrow Functions/////////////////////zzz
箭头符号在JavaScript诞生时就已经存在,当初第一个JavaScript教程曾建议在HTML注释内包裹行内脚本,这样可以避免不支持JS的浏览器误将JS代码显示为文本.你会写这样的代码: < ...
- ES6里箭头函数的陷阱
ECMAScript 6新增了箭头函数 原来的匿名函数 function(){},现在可以简化成()=>{} 看起来高大上,像C#什么的语法. 但是箭头函数的this对象,不能更改,总是指向函数 ...
- JavaScript箭头函数 和 generator
箭头函数: 用箭头定义函数........ var fun = x=>x*x alert(fun(2)) //单参数 var fun1 = ()=& ...
随机推荐
- Jenkins安装和自动化部署
1.Jenkins安装机器安装要求可以参考官网 https://www.jenkins.io 2.下载jenkins的war包上传到linux上部署 3.安装jdk.git.maven 3.1.安装j ...
- 5-MIGO收货-请维护容差码VP(公司代码1000)的容差限制-消息号 M8215
请维护容差码VP(公司代码1000)的容差限制 消息号 M8215 诊断 系统试图检查输入输入是否在特定的限度范围之内.由于尚未维护显示的容差码限制,所以无法进行此操作. 步骤 系统管理员必须在公司代 ...
- top usage
https://www.cnblogs.com/dragonsuc/p/5512797.html
- 在集群上运行Spark应用
初识Spark真的存在很多疑问:Spark需要部署在集群里的每个节点上吗?Spark怎么有这么多依赖,这些依赖分别又有什么用?官网里边demo是用sbt构建的,难道还有再学一下sbt吗? --就是这么 ...
- WPF窗体图标设置
WPF程序在编写结束后,界面没有图标,影响美观性.今天在添加图标的时候,一直报错,然后通过查找资料,将这个问题解决,现在将主要步骤记录如下; 准备好图标文件,注意文件格式应该为ico格式文件.有一个在 ...
- el-table更新数据页面闪烁问题
情况是这样,渲染了一个table,高度是固定的.所以会有滚动.其中的某一列的数据只显示了部分内容,鼠标浮上加载全部,用el-popover浮框显示. 但每次改变tableKey会触发整个table的重 ...
- @Html.DropDownList,绑定默认值
后端代码: List<Area> list = new List<Area> { new Area { Id=1,Name="北京"}, new Area ...
- python IDLE清除窗口内容和new file里代码加行业的操作
这个其实比较简单,主要是从网上下载好ClearWindow.py这个文件,然后把文件放到./Lib/idlelib下面,同时打开该文件夹下config-extensions.def文件,在文件尾加入下 ...
- WPF 轨迹动画
1.后台 public MainWindow() { InitializeComponent(); /// <summary> /// Window2.xaml 的交互逻辑 /// < ...
- WDA学习(19):UI Element:Table使用
1.12 UI Element:Table使用 1.Table Filter and Sort 1.1创建Context节点; NODE_SFLIGHT, FILTER_COL:CARRID,CONN ...