Wednesday 18 September 2019

Awkward way of executing JavaScript code




In the Google tutorial for implementing Google+ sign-in in Flask application, I discovered that the developer often uses an awkward way of executing JavaScript code:



Instead of doing




var a = foo(bar);


I see this:



var a = (function() {
return foo(bar);
})();



What is the reason to do it the weird way?


Answer



This is a poor example. Consider the following:



var a = (function(){
var ret = {};
ret.test = "123";
function imPrivate() { /* ... */ }
ret.public = function() { imPrivate(); }

return ret;
})();


a will contain the varible test and the function public, however you can not access imPrivate. This is the common way to handle public vs private variables;



See Why is this function wrapped in parentheses, followed by parentheses? for more info.


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...