28.05.2013 Views

javascript by example

javascript by example

javascript by example

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capitolo 1<br />

Linguaggio<br />

non darà il messaggio “ciao false” come ci si potrebbe aspettare,<br />

ma “ciao null”! Se si prevedono quindi argomenti che possono<br />

avere anche valori booleani conviene adottare una strategia<br />

più “difensiva”, come :<br />

function msg (){<br />

}<br />

var args = arguments;<br />

function getArg(index,defaultValue){<br />

}<br />

if(args[index]==null) return defaultValue;<br />

return args[index];<br />

var part1 = getArg(0,"null");<br />

var part2 = getArg(1,"null");<br />

alert(part1 + part2);<br />

questo ci garantisce meglio, ma ci costringerebbe comunque a definire<br />

una funzione interna di recupero degli argomenti per ogni<br />

funzione dichiarata, la soluzione sta nell'intervenire direttamente<br />

sul prototype dell'oggetto Function per implementare un nuovo<br />

metodo (vedremo meglio più avanti cos'è il prototype):<br />

Function.prototype.getArg = function (index,defaultValue){<br />

}<br />

var args = this.arguments;<br />

if(args[index]==null) return defaultValue;<br />

return args[index];<br />

In questo modo in ogni funzione che scriviamo potremo utilizzare<br />

getArg (preceduto dal nome della funzione stessa):<br />

function msg (){<br />

var part1 = msg.getArg(0,"null");<br />

I libri di ioPROGRAMMO/Javascript <strong>by</strong> Example 25<br />

JAVASCRIPT<br />

BY EXAMPLE

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!