今天看一代码把以前的知识又忘了,现专门记下笔记
this
this的上下文环境永远在被调用函数的上下文环境
|
|
箭头函数的this
lamda不同,它是在哪被定义,this的上下文就是被定义的地方
就算是嵌套箭头,也没有this上下文,默认最外层的上下文
由于没有自己的this,所以bind call等函数也无效
原型
js对象分俩种:普通对象和函数对象
函数对象: 函数的定义,匿名函数的赋值
普通对象:数组,结构体,new function()
一个函数对象可以访问到prototype
__proto__
普通对象只能访问到__proto__
__proto__
指向构造函数的prototype
,这形成了原型链(也是es5的继承,属性的访问当prototype没有就会通过__proto__
去上级寻找)
所以函数对象的__proto__
指向的是原型的prototype
prototype
的来源: 1.原型的继承 2.自定义的赋值