javascript - 在js高级程序设计书上,控制台上出现Uncaught ReferenceError: bind is not defined
PHPz
PHPz 2017-04-10 17:37:41
0
5
416
var EventUtil = {
    addHandler:function(element,type,handler){
        if(element.addEventListener){
            element.addEventListener(type,handler,false);
        }else if(element.attachEvent){
            element.attachEvent("on"+type,handler);
        }else{
            element["on"+type] = handler;
        }
    },
    removeHandler:function(element,type,handler){
        if(element.removeEventListener){
            element.removeEventListener(type,handler,false);
        }else if(element.detachEvent){
            element.detachEvent("on"+type,handler);
        }else{
            element["on"+type] = null;
        }
    }
};
var handler={
    message:"Event handled",
    handleClick:function(event){
        alert(this.message);
    }
};
var btn=document.getElementById("btn");
EventUtil.adddHandler(btn,"click",bind(handler.handleClick,handler));
PHPz
PHPz

学习是最好的投资!

répondre à tous(5)
洪涛

bind()函数有定义....在603页

function bind(fn, context){
    return function(){
        return fn.apply(context, arguments);
    };
}

看书要认真 = =

阿神

猜测题主在编写书中的示例的时候漏掉了bind方法,最后这一行的Bind没定义啊。

EventUtil.adddHandler(btn,"click",bind(handler.handleClick,handler));

我猜可能是这样的

function bind(callback, obj){
    return callback.bind(obj);
}
黄舟

最后一行bind函数没有定义

迷茫

bind is no defined; bind没有定义,不是说得很明显了么

黄舟
bind(handler.handleClick,handler)

这里的bind是哪里来的?

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal