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]

参考


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,628评论 1 10
  • title: js面向对象date: 2017年8月17日 18:58:05updated: 2017年8月27日...
    lu900618阅读 3,808评论 0 2
  • 前言: 本来只是想写一下简单的 bind 函数实现,没想到写着写着还能牵出 js 中继承的知识,其实研究原生函数的...
    极乐君阅读 7,823评论 0 3
  • 1 九月的天空,又高又蓝。团团白云,像弹好的棉花,慢慢地飘浮着。风,轻轻地、温和地吹在脸上,像滑滑的丝绸,拂面而过...
    呆萌的老张看世界687阅读 5,192评论 75 63
  • 本文参加#迷彩加身,我的军训我来说#活动,本人承诺,文章内容为原创,且未在其他平台发表过 “我们是铁,军训是火,...
    亦渔_阅读 2,454评论 0 4

友情链接更多精彩内容