扫码关注官方订阅号
在function 里面有个 this,该function分别用apply()和call()调用,this的指向?
认证0级讲师
在js中,调用function的apply()或者call()可以覆盖this原先的指向。但是call()和apply()的用法略有不同,见下面两个例子:
var myObject = {}; var myFunction = function(param1, param2) { this.foo = param1; this.bar = param2; console.log(this); }; myFunction.call(myObject, 'foo', 'bar'); // this 将指向 myObject console.log(myObject) // 输出 Object {foo = 'foo', bar = 'bar'}
用apply()时,参数需要用Array
var myObject = {}; var myFunction = function(param1, param2) { this.foo=param1; this.bar=param2; console.log(this); }; myFunction.apply(myObject, ['foo', 'bar']); // this 将指向 myObject console.log(myObject); // 输出 Object {foo = 'foo', bar = 'bar'}
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在js中,调用function的apply()或者call()可以覆盖this原先的指向。但是call()和apply()的用法略有不同,见下面两个例子:
用apply()时,参数需要用Array