为了账号安全,请及时绑定邮箱和手机立即绑定

bind方法不是弃用了吗?

bind方法不是弃用了吗?

正在回答

2 回答

jquery的事件绑定方法.bind(),和视频所讲的js原生修改函数this指向的.bind(),是两个东西啊。大兄弟,你会不会把这两者混淆了~

0 回复 有任何疑惑可以回复我~

bind 函数在 ECMA-262 第五版才被加入;它可能无法在所有浏览器上运行。你可以部份地在脚本开头加入以下代码,就能使它运作,让不支持的浏览器也能使用 bind() 功能。

if (!Function.prototype.bind) {
 Function.prototype.bind = function (oThis) {
   if (typeof this !== "function") {
     // closest thing possible to the ECMAScript 5
     // internal IsCallable function
     throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable")
   }

   var aArgs = Array.prototype.slice.call(arguments, 1),
     fToBind = this,
     fNOP = function () {},
     fBound = function () {
       fBound.prototype = this instanceof fNOP ? new fNOP() : fBound.prototype        return fToBind.apply(this instanceof fNOP
                                ? this
                                : oThis || this,
                                aArgs.concat(Array.prototype.slice.call(arguments)))
       }
   if( this.prototype ) {
     // Function.prototype doesn't have a prototype property
     fNOP.prototype = this.prototype    }

   return fBound  }}

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

bind方法不是弃用了吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信