码迷,mamicode.com
首页 > 其他好文 > 详细

认识 Function.prototype.bind()

时间:2020-05-03 10:38:44      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:sarg   运行   follow   size   margin   爱好者   序列   操作符   拷贝   

欢迎前端爱好者加入QQ群:112916679 答疑解惑,且可获取更多前端资料!


bind()方法创建一个新的函数, 当被调用时,将其this关键字设置为提供的值,在调用新函数时,在任何提供之前提供一个给定的参数序列。


例子:

var obj = {
        x: 20,
        getX: function(){
            return this.x;
        }
    };
        
    var foo = obj.getX;
    console.log(foo()); // undefined
        
    var bindFoo = foo.bind(obj);
    console.log(bindFoo()); // 20

语法

fun.bind(thisArg[, arg1[, arg2[, ...]]])

参数

thisArg
当绑定函数被调用时,该参数会作为原函数运行时的 this 指向。当使用new 操作符调用绑定函数时,该参数无效。

arg1, arg2, ...
当绑定函数被调用时,这些参数将置于实参之前传递给被绑定的方法。

返回值

返回由指定的this值和初始化参数改造的原函数拷贝

描述

bind() 函数会创建一个新函数(称为绑定函数),新函数与被调函数(绑定函数的目标函数)具有相同的函数体(在 ECMAScript 5 规范中内置的call属性)。当新函数被调用时 this 值绑定到 bind() 的第一个参数,该参数不能被重写。绑定函数被调用时,bind() 也接受预设的参数提供给原函数。一个绑定函数也能使用new操作符创建对象:这种行为就像把原函数当成构造器。提供的 this 值被忽略,同时调用时的参数被提供给模拟函数。

本文转载于猿2048:认识 Function.prototype.bind()

认识 Function.prototype.bind()

标签:sarg   运行   follow   size   margin   爱好者   序列   操作符   拷贝   

原文地址:https://www.cnblogs.com/10manongit/p/12820698.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!