-
重点!
这里绿色的this的问题 指的是 bind后函数执行时的this
这里解释了 为什么 this instanceof fNOP =>true!
查看全部 -
bind的实现
非常重要!! 需要多看
查看全部 -
bind的实现中 第三行的this对应的是Function 而不是Function.prototype (再看几分钟之后明白了) 因为再bind应用时 是通过 "函数.bind"来实现的 所有这里的this是函数而不能是其他
查看全部 -
这里最后new func()得到的对象只有b一个属性 没有a属性(测试环境Node12.13)
查看全部 -
柯里化 实例
查看全部 -
一般模式下 如果apply/call 的第一个参数是null/undefined 那么函数的this值是全局对象
严格模式下 上面的情况 this会是null/undefined
经测试 bind也是同理(Node环境下)
查看全部 -
call和apply的第一个参数会被强制转为对象类型
查看全部 -
严格模式下('use strict') 通过arguments设置参数值是无效的
同时 严格模式下 arguments.callee也是无效的
查看全部 -
arguments 对没有传参的参数 进行赋值是无效的 (即没有绑定关系) [具体看视频]
arguments可以像数组一样通过[数字]进行寻址 赋值
查看全部 -
bind的作用大于"对象内方法隐式绑定对象this"的作用
查看全部 -
这里传入7 返回了[object Number]! => 对啊 因为会把基础类型转换为对象类型(之前有讲过)
查看全部 -
如果函数的返回值不是对象类型 或者没写返回值 那么new 一个函数会将this绑定到new出来的对象身上(this == new出来的对象)
如果返回值是对象类型 那对象类型的首地址即时新对象的地址(ok 我就用C的概念)
查看全部 -
对象原型链([[proto]])上的this.a 竟然取到了对象的属性a (哦 因为this是动态作用域)
查看全部 -
严格模式下 函数内的this默认是undefined
查看全部 -
函数声明 函数表达式 函数构造器 的区别!
查看全部
举报