javascript source:手撕js原始码 源码
javascript源 手撕js原始码 呼叫的实现 let obj = { name : 'gpy' } ; function fn ( x , y ) { console . log ( this , x + y ) ; return '@' ; } let res = fn . call ( obj , 10 , 20 ) ; console . log ( res ) ; call实现的基本思路:把函数作为要改变的THIS对象的一个成员,然后基于对象的成员访问执行函数即可 如何让fn的this指向obj obj.fn = fn => obj.fn() Function . prototype . call = function call ( context , ... params ) { //现在的this指向fn // context -> 最后要改变的函数中
下载地址
用户评论