|<- [[jsfn:Creating and namespacing modules]]|[[jsfn:Chaining module method calls]] ->|
var name_space = (function)() {
return {
parler: function() {
console.log(arguments[0].dire);
}
}
})();
name_space.parler({ dire: "salut" });
==short-circuit evaluation==
var name_space = (function)() {
return {
parler: function() {
var mes_arguments = arguments[0] || '';
console.log(mes_arguments.dire);
}
}
})();
name_space.parler(); // oubli ou pas d'arguments
var name_space = (function)() {
return {
parler: function() {
var mes_arguments = arguments[0] || '';
var phrase = mes_arguments.say || "bonjour"; // on s'assure qu'il y a quelque chose à dire sinon phrase par défaut.
console.log(phrase);
}
}
})();
name_space.parler(); // oubli ou pas d'arguments
Pour un exemple plus grand :
var name_space = (function)() {
var DEFAUT = { // phrases par défaut si défaut
dire: "bonjour"
}
return {
parler: function() {
var mes_arguments = arguments[0] || '';
var phrase = mes_arguments.say || DEFAUT.dire; // on s'assure qu'il y a quelque chose à dire sinon phrase par défaut.
console.log(phrase);
}
}
})();
name_space.parler(); // oubli ou pas d'arguments