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
相关文章推荐
- javascript中this、apply、call、bind的用法和区别
- 使用call、apply和bind解决js中烦人的this,事件绑定时的this和传参问题
- JS中改变this指向的方法(call和apply、bind)
- this之后的call,apply,bind。
- 关于JS的this和容易混淆的Call(), Apply(), Bind()
- [js]Javascript call() & apply() vs bind()
- JavaScript 中的 this, call, apply, bind...
- 轻松搞定this绑定方法 call apply bind
- 改变this指向(call、apply、bind)
- JavaScript的this,call(),apply(),bind()
- javascript--关键字 apply bind call this
- js的this指针指向谁,以及相关的call、apply、bind方法
- caller & callee 相关 (相关联 call()、apply()、bind() 可以改变caller)
- this_scope_call_apply_bind_柯里化 详细分析
- 浅谈js中的call,apply,bind方法中的this指针
- js: this,call,apply,bind 总结
- 1.JS设计模式-this,call&apply
- JavaScript学习(2)call&apply&bind&eval用法
- JavaScirpt的this指向 apply().call(),bind()个人笔记
- this、apply/call、bind、闭包、函数、变量复制