J'écris une add_event fonction comme le montre ci-dessous:Est-ce que cette déclaration javascript affecte les performances?
function add_event(o, event_type, callback, capture){
o = typeof o === "string" ? document.getElementById(o) : o;
if(document.addEventListener){
add_event = function(o, event_type, callback, capture){
o = typeof o === "string" ? document.getElementById(o) : o;
o.addEventListener(event_type, callback, capture);
}
}else if(document.attachEvent){
add_event = function(o, event_type, callback, capture){
o = typeof o === "string" ? document.getElementById(o) : o;
o.attachEvent("on" + event_type, callback);
}
}
add_event(o, event_type, callback, capture);
}
Maintenant, ma question est de savoir si la déclaration
o = typeof o === "string" ? document.getElementById(o) : o;
affecte les performances de ce programme? Si vous passez un élément HTML au lieu d'un ID, vous exécutez en fait l'instruction o = o, c'est la raison pour laquelle je pose cette question. Grand merci.
Une chaîne n'est pas du tout une instance de 'String' (pas' string'!). 'typeof' est la bonne façon de faire. – Gumbo
@Gumbo changé. – Amarghosh