我处于一种情况,当用call或具有不同上下文的apply调用该函数时,我想知道某个函数是否已绑定(bind)以便设置警告消息。

function myfn (){ }
/* or */
var myfn = function () {}


var ref = myfn.bind(null);

我在Firefox和Chrome控制台中检查了功能对象,发现的唯一区别是绑定(bind)版本的名称带有bound前缀。
> myfn.name
> "myfn"

> ref.name
> "bound myfn"
  • 这是可靠的检查吗?
  • 是否有更多方法可以查找是否
    功能已经绑定(bind)?

  • *注意:对旧版浏览器不感兴趣(例如:<ie10)

    最佳答案



    不可以。它仅从ES6开始有效,但也可以从ES6开始被愚弄,因为.name现在是可写的。



    绑定(bind)函数没有.prototype属性,但是请注意,还有其他一些共享此质量的函数,例如所有箭头功能。

    关于javascript - 检查函数是否已经在普通JavaScript中绑定(bind)的更好方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39191045/

    10-12 12:54
    查看更多