JavaScript(func.bind)
2016-09-13 本文已影响27人
JetLu
示例代码
/*
* Node.js(6.x)里运行并不能得到预期的结果,浏览器下可行
* 代码只是作简单解释用,真正使用需略作修改
*/
const o = {
name: 'genius'
}
const echo = function() {
console.log(this.name, arguments)
}
Function.prototype.bind = function(o, ...params) {
const that = this
return function(...args) {
return that.apply(o, [...params, ...args])
}
}
o.echo = echo.bind({name: 'talent'}, 6)
o.echo(9)
// talent [6]