您的位置:首页 > 移动开发

this & call & bind & apply

2018-03-18 22:33 375 查看
this 以及 三个关联函数 :this 是在程序运行的时候才能确定的,谁调用了函数谁就是 thisapply call bind :用于给函数确定 this 用的,用法稍有区别。它们的第一个参数都是用来指定函数里面的this,apply 的第二个参数必须是一个数组,apply会把数组拆成一个个参数传给函数call 第一个参数以后的参数会依次传给作为参数传给函数apply 及 call 都是直接调用,使用方式如下 : var log = function() {​ console.log.apply(console, [1, 2, 3, 4])​ console.log.call(console, 1, 2, 3, 4)}bind 函数不直接调用,而是返回一个函数让你调用。它的 第二个参数会默认传给 log ,可用于区分 log , 如下var log = console.log.bind(console, '**bug')因为 .log 是 console 对象里的一个函数,它的 this 必须是 console,如果想进行自己的封装的话,log() 的 this 是每次调用函数的对象,所以需要设置每次调用它的 this 都是 console
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: