Hi, and thanks for having this forum. I am reading the book entitled 
beginning node.js by  Basarat Ali Syed 
<http://www.amazon.com/s/ref=dp_byline_sr_book_1?ie=UTF8&field-author=Basarat+Ali+Syed&search-alias=books&text=Basarat+Ali+Syed&sort=relevancerank>.
 
  There is a code example that I am having a little trouble understanding:

function printableMessage() {
var message = 'hello';
function setMessage(newMessage) {
if(!newMessage) throw new Error('cannot set empty message');
message = newMessage;
}

function getMessage() {
return message;
}

function printMessage() {
console.log(message);
}

return {
setMessage: setMessage,
getMessage: getMessage,
printMessage: printMessage
};
}

// Pattern in use
var awesome1 = printableMessage();
awesome1.printMessage();

var awesome2 = printableMessage();
awesome2.setMessage('A new message for you.');
awesome2.printMessage();
"

I understand everything except the syntax in the return section.  Why is 
the label the same as function name in each case in the return section.   
Why is a return necessary to execute the function at all?  This code was 
designed to illustrate the concept of "revealing modules"?  I would be very 
grateful if anyone can elaborate on how this example reveals modules.  Are 
each of the functions a "module"?  If this is so, am I to assume that the 
return function is responsible for revealing them?

It seems like the functions are methods of the printableMessage function? 
 Anyway, sorry for asking such a nube question.  I really want to 
understand node.js, not just hack into to develop.  - Thanks very much.

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/edcca2f5-4742-419a-a17b-42657c6cd97f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to