匿名函数是用不了的 仍是须要给他赋值
选中的这一部分叫作匿名函数
等于号叫作赋值
let xxx叫作声明
因此说这个地方是三个语法,首先声明一个匿名函数,而后声明一个xxx变量,最后把这个匿名函数赋值给这个变量xxx
python
箭头函数只能作赋值,不能作声明
这是一个标准的箭头函数
es6
若是只有一个函数,能够不用写括号
调用一下作测试
函数
若是函数体只有一句话,那么是能够不写花括号的。
假设咱们的函数体只有return p1+p2这一句话
那么花括号是能够省略掉的。p1+p2就会默认return 过去。
测试
函数里面有this是最难的
箭头函数里面没有this
什么是this?this是call的第一个参数
之因此会出现箭头函数,就是由于this太难用了。
this
在讲this以前,先讲参数
看下面的代码,声明函数,f,调用函数f,传入abc,那么p1的值就是abc
其实p1就是argument的第一个值
p1就是argument的第二个值
在执行f这个函数以前会构建argument这个对象,里面是f函数的两个参数,
3d
不用p1也不用p2,直接打印出this。请问这个this是哪里来的呢?
为了更好的说明,把这个函数放在一个对象上
假设有p1和p2两个值
对象
搜索python class 看一下 python的class是怎么用的
传的值1就是p1.那么self是哪里来的呢??
blog
函数hi第一个参数实际上也是一个this对象,1对应的是p1,2对应的是p2
this是什么呢?this实际上就是.hi前面的东西 ,这里this就是object
实际上第一个参数this对象是隐藏的。
一样的这里的this也是看不见的
总结
this永远是call的第一个参数
class
箭头函数就是为了解决坑人的this
这种写法是没什么问题的,是被js坑的没办法才会这么去写
匿名函数
那么用箭头函数能够解决,箭头函数只有参数,没有this这个对象
最外头的this就是window这个对象
箭头函数内没有this对象,因此打印出来的就是 最外头的window对象