JavaScript高级 手写call apply bind
一、实现call 函数call调用方式: 1 2 3 4 5 function foo(name, age) { console.log(this, name, age) } foo.call({ name: "mocha" }, 20) // {name: 'mocha'} 'mocha' 20 手写call: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 function foo(name, age) { console.log(this, name, age) } Function.prototype.moCall = function (thisArg, ...otherArgs) { // this -> 指向当前调用的函数对象 // thisArg -> 传入的第一个参数,是要绑定的this // 确保thisArg是对象类型 thisArg = (thisArg === null……