call与apply Posted on 2017-07-29 this指向直接看代码: 12345678910111213141516171819202122function fn() { console.log(this);}fn();//windowfn.call(1);//this=>数字1的包装类对象Number,相当于new Number(1)fn.call('str'); // this=>字符串'str'的包装类对象String,相当于new String('str')fn.call([1,2,3]); // this=>数组[1,2,3]fn.call({}); // this=>对象fn.call();//windowfn.call(null);//windowfn.call(undefined);//windowfunction fn1(name, age){ console.log(this, name, age);}fn1.call(null, '张三', 20); //window, '张三',20fn1.apply(null, ['张三',20]); //windwo, '张三',20