/    Sign up×
Community /Pin to ProfileBookmark

[RESOLVED] namespace pattern

Hi everyone!

I am getting deeper in the namespace pattern in JavaScript, and have come across this code patter several times:

[code]

var myApp = function (namespace, undefined)
{
namespace = namespace || {} ;
//do stuff…

return namespace;
}(myApp);

[/code]

It is passing ‘undefined’ as the second parameter.

What is the purpose of ‘undefined’ as the second parameter in the function??

Thank you very much!

to post a comment
JavaScript

2 Comments(s)

Copy linkTweet thisAlerts:
@Jeff_MottJan 04.2015 — There are a couple purposes.

One is to ensure that undefined is truly undefined. Anywhere, in any script, some silly person could write [FONT=Courier New]undefined = 're-define undefined cause im evil';[/FONT]. But within the scope of your function, since the second parameter is named "undefined" and no second argument is passed in, then within that function, "undefined" is guaranteed to be undefined.

A second is to aid minifiers. The global undefined can be minified down to [FONT=Courier New]void 0[/FONT], but we can go smaller. Function parameters are like local variables. Minifiers can rename them down to a single letter without affecting behavior.
Copy linkTweet thisAlerts:
@hebrerilloauthorJan 04.2015 — Thank you very much Jeff!! Now it is clear for me.

All the best
×

Success!

Help @hebrerillo spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.5,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,

tipper: @Samric24,
tipped: article
amount: 1000 SATS,
)...