我处于一种情况,当用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/