JavaScript(func.bind)

示例代码



/*
* 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]

参考


  • Function.prototype.bind()

你可能感兴趣的:(JavaScript(func.bind))