当前位置: 首页 > Web前端 > HTML5

认识Function.prototype.bind()

时间:2023-04-05 23:15:29 HTML5

欢迎前端爱好者加入QQ群:112916679答疑解惑,获取更多前端资讯!bind()方法创建一个新函数,并在调用时将其设置为this关键字设置为提供的值,当调用新函数时,在任何提供的参数之前使用给定的参数序列。示例:varobj={x:20,getX:function(){returnthis.x;}};varfoo=obj.getX;控制台日志(foo());//未定义varbindFoo=foo.bind(obj);console.log(bindFoo());//20语法fun.bind(thisArg[,arg1[,arg2[,...]]])参数thisArg调用绑定函数时,该参数将作为原函数运行时的this指针。使用new运算符调用绑定函数时,该参数无效。arg1,arg2,...当调用绑定函数时,这些参数将在实际参数之前传递给绑定方法。返回值返回由指定的this值和初始化参数修改的原始函数的副本。说明bind()函数创建一个新函数(称为绑定函数),它与被调用函数(绑定函数的目标函数)具有相同的特性。函数体(ECMAScript5规范中的内置调用属性)。this值在调用新函数时绑定到bind()的第一个参数,不能被覆盖。调用绑定函数时,bind()也接受预设参数提供给原函数。绑定函数也可以使用new运算符创建对象:这与作为构造函数的原始函数一样。提供的this值将被忽略,并将调用时参数提供给模拟函数。