debugger

Det flesta webbläsare har stöd för nyckelordet ”debugger” nu vilket gör du kan skriva debugger; i javascript koden när du utvecklar. Vissa webbläsare kräver dock att har utvecklarverktygen igång.

var test = function(hello){
  debugger;
  console.log(hello);
};

jQuery Validation Plugin

Idag har jag hunnit prova jQuery Validation Plugin och jag måste säga att jag är ganska imponerad för att den är väldigt enkel att använda men ändå kraftfull i den bemärkelsen att det finns många inställningsmöjligheter. Jag har slängt ihop ett litet pseudokod exempel här under.

jQuery plugin: Validation

En artikel om jQuery plugin: Validation


<script type="text/javascript" src="/js/jquery.validate.js"></script>

<form action="/login.php" method="post" id="topLoginForm">
	<ul>
		<li><label for="username">e-post:</label> 
                    <input id="username" type="text" name="username" class="required email" /></li>
		<li><label for="password">lösenord:</label>
                     <input id="password" type="password" name="password" class="required" /></li>		
		<li><input type="submit" value="Logga in" /></li>	
	</ul>
</form>


<script type="text/javascript">

     //Svenska felmeddelanden
    $.extend($.validator.messages, {
    	  required: "Du har glömt att fylla i detta fält",
    	  email: "Fyll i en giltig e-postadress"    	  
    });
    
    $(document).ready(function(){
       $("#topLoginForm").validate();
    });           
	    
    
});

</script>

”use strict”;

I ECMAScript 5 kan man slå på ”Strict mode” I ett funktions scope. genom att bara lägga till strängen ”use strict”; i toppen på en funktions deklaration. Detta underlättar för utvecklaren då vanliga fel kommer upptäckas snabbare. Den förra varianten av ”use strict” kunde inte användas i funktions scope utan användes på all javascript kod efter att strängen och de kunde ge problem om man packade ihop flera JavaScript till en fil tex.

/* 
  Denna funktion kommer kasta ett fel pga av ojoj variabeln
  inte har definierats innan användning.    
*/
(function () {
	"use strict";
	ojoj = "test1";
	document.write(ojoj);
}());

// Denna funktion kommer inte kasta några fel
(function () {
	"use strict";
	var ojoj = "test2";
	document.write(ojoj);
}());

Eftersom ECMAScript 5 skall vara bakåtkompatibelt med ECMAScript 3 så kan man använda man använda ”use strict”; redan idag utan att behöva bekymra sig. ”use strict”; är i sig bara en en sträng.

console.log

Det flesta webbläsare stödjer i dag någon sorts loggning via log funktionen. log funktionen brukar finnas på console objektet. console objektet om det finns brukar ligga i webbläsaren globala scope. Så på de flesta sajter jag har jobbat med har lagt till denna funktionalitet för kunna ha lite enkel loggning i de flesta webbläsare.

function debug(obj) { 
	"use strict";
	if (window.console && window.console.log) {
		window.console.log(obj);
	}
}