美文网首页
bind方法的实现

bind方法的实现

作者: stillpeng | 来源:发表于2019-09-30 09:20 被阅读0次

一、bind的作用

    |--案例:

报错:非法的调用

    |--错误分析:write方法是document对象下的,将write方法赋值给变量dw,dw将成为window下的一个方法,
    调用dw相当于window.dw,此时dw里的this已经指向了window而不是document。所以报错。
    |--如何解决:通过bind来改变this的指向(指向document)

通过bind改变this指向

二、bind的使用之绑定函数

    |--最基本的用法:创建一个函数(返回值:新函数),使新函数永久绑定this为指定对象(第一个参数),如果不做bind处理,函数会丢失原来的对象。
    |--案例:

bind使新函数this绑定为obj

三、bind的使用之预定义参数

    |--可以为新函数预定义参数,调用的时候传入其他参数即可。
    |--案例:

调用newList默认参数37

四、bind的使用之和setTimeout一起使用

    |--示例:

setTimeout里的this指向window

    |--解决办法:

绑定定时器内部this为Person

五、bind和构造函数一起使用

    |--构造函数1.bind(null/{})返回一个新的构造函数,两个构造函数共用一个原型。
    |--示例:

两个构造函数共用一个原型

六、使用bind将类数组转为数组

    |--示例:使用call和bind

call和bind

七、自己实现bind函数

    |--原因:一些低版本浏览器不支持bind方法,这时就要自己实现bind方法。
    |--实现:

在Function的原型添加自定义bind

八、带参数的bind实现

    |--示例:

带参数的bind实现

相关文章

  • RAC核心方法bind

    核心方法bind bind底层实现

  • 【call apply bind】源码实现

    call方法的实现 apply方法实现 bind方法实现 new方法实现 reduce实现

  • JS-手动实现bind、call方法

    实现bind方法 MDN文档指出:bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 t...

  • 前端面试题总结

    Function.prototype.bind实现 JS中的call、apply、bind方法thisObj的取值...

  • 前端面试宝典之:手写bind方法

    手动实现一个 bind 方法 bind 方法简介 在正式手写之前,你得知道 bind 方法是一个什么东西,在 MD...

  • bind方法的实现

    一个函数通过调用bind()方法创建一个新的绑定函数,调用新绑定函数,会在指定的作用域中传入参数并执行。使用bin...

  • bind方法的实现

    一、bind的作用 |--案例: |--错误分析:write方法是document对象下的,将write方...

  • JavaScript深入之bind的模拟实现

    JavaScript深入之bind的模拟实现 bind() 方法会创建一个函数,当这个新函数被调用的时候,bind...

  • 函数的call/apply/bind方法

    bind 方法属于ES5才提供的方法,在IE9及以上才支持 利用bind实现柯里化 bind与new上面我们可以知...

  • 手动实现bind方法

    接上一篇文章,我们来一起实现一下bind方法老规矩,来分析下bind的作用以及参数,返回值等信息bind方法的全称...

网友评论

      本文标题:bind方法的实现

      本文链接:https://www.haomeiwen.com/subject/ubttpctx.html