Javascript

De Bricosoft.

Sommaire

[modifier] trim

En membre :

String.prototype.trim = function () {
 return this.replace(/^\s+|\s+$/g,'');
} 
 
var sTrimmed= sPasTrimmed.trim();

En fonction :

function trim(sPasTrimmed) {
	return sPasTrimmed.replace(/^\s+|\s+$/g,'');
}
 
var sTrimmed= trim(sPasTrimmed);

La plupart des frameworks js l'ont déjà, ex: Ext.util.Format.trim()

[modifier] simple login/pass checker

La fonction dans votre entête HTML(<head/>)

function checkAlphanum(oInput) {   
 
    var val = oInput.value;
 
    if ( /[^A-Za-z0-9]/.test(val) ) {
        alert('incorrect :-(');
    }
}

Puis dans votre formulaire :

<input type="text" name="login" onKeyUp="javascript:checkAlphanum(this);">


[modifier] Firebug

[modifier] log compatible IE

if('undefined' != typeof(console) ) 
  console.log('karmakoma');

[modifier] Minify / minifier

[modifier] Avec Yahoo UI Compressor

YUI Compressor permet de minifier n'importe quel fichier javascript en ligne de commande :

  • Installation :
cd ~/bin/
wget http://yuilibrary.com/downloads/yuicompressor/yuicompressor-2.4.2.zip
unzip yuicompressor-2.4.2.zip
mv yuicompressor-2.4.2/build/yuicompressor-2.4.2.jar ./
rm -rf yuicompressor-2.4.2/
echo "alias minify='java -jar $HOME/bin/yuicompressor-2.4.2.jar'" >> ~/.bash_aliases
source ~/.bash_aliases
  • Utilisation :
minify gros.js -o gros-min.js

[modifier] undefined vs null

  • null est un objet, undefined non
  • les variables sont par defaut undefined : une variable "booléenne" peut valoir : true, false, null, undefined
  • prendre en compte l'utilisation possible de ===, !== aulieu de ==, != pour les tests
    • === identité, ce doit être le même type de chaque coté
    • == égalité, quelque soit le type

Etude de cas :

var a= 0; 
var a= ''; /* ou chaine vide */
var a= null; /*  ou l'objet null */
var a; /* ou indéfini */
var b= false;
 
a == b est true
a === b est false

[modifier] Liens externes

[modifier] Vérifier l'existence d'un objet

if( typeof(totoche) !== 'undefined' && totoche != null) {
// totoche existe
}

Plus