
Utiliser la fonction typeof
if(typeof(maVariable)=='undefined')
Une variable locale est définie en la précédant de var
var x = 2;
Par exemple, nombre de " dans chaine:
nbre = chaine.length - chaine.replace(/"/g , '').length;
<script type="text/javascript">document.getElementById('champ').focus();</script>
à placer après le formulaire.
Pour détecter IE
var isMSIE = /*@cc_on!@*/false;
et pour détecter IE6 et en-dessous
var IE6 = false /*@cc_on || @_jscript_version <= 5.7 @*/;
La syntaxe est celle des commentaires conditionnels d'internet explorer.
<script type="text/javascript">
function FaireLiens(id) {
document.getElementById(id).innerHTML = document.getElementById(id).innerHTML.replace(/(https?:\/\/[-_:;,%\.\+\/\?=#&a-zA-Z0-9]+)/g ,'$1<a href="$1">$1</a>');
}
</script>
Pour différer l'exécution d'instructions, les encadrer comme suit:
setTimeout(function(){
vos instructions sur
une ou plusieurs lignes
} , delai_ms);
foreach n'existe pas en javascript, mais on peut utiliser for (var ... in ...)
Par exemple
var fruits =["pomme" , "poire" , raisin"];
for (var i in fruits) {alert(fruits[i]);}
ce qui évite de passer par par des count et autres length.
C'est particulièrement utile quand les indices ne sont pas des nombres successifs.
Il suffit d'utiliser window[nom_de_variable]. Par exemple:
num = 1; window['id' + num] = 25; alert(id1);
affichera 25.
On peut aussi bien évidemmebnt créer de la sorte des noms de fonction dynamiques.
document.getElementById(element).onclick = "alert('test')"; ne fonctionne bien évidemment pas, on ne peut affecter un texte à un événement.
document.getElementById(element).onclick = new Function("alert('test')"); fonctionne, on crée une nouvelle fonction à partir du texte.
document.getElementById(element).onclick = function() {alert('test')}; affecte directement la fonction à l'événement et est plus simple à écrire.