URSPRÜNGLICHE FRAGE:
Ich studiere Js und würde gerne wissen, ob es irgendeinen (nützlichen) Unterschied zwischen diesen beiden Möglichkeiten zum Schutz des globalen Bereichs gibt, abgesehen von der Tatsache, dass die zweite wiederverwendet (erneut aufgerufen) werden kann.
Option1:
var question = {};
(function(){
question.option1 = function() {
// some code
};
})();
Option2:
var question = {};
question.option2 = function () {
//some code
};
question.option();
Danke!
EDIT 1:
Danke, @luisperezphd. Gibt es einen Unterschied zwischen dem, was Sie geschrieben haben, und dem hier (abgesehen von der Ausführlichkeit)?
var question = {};
question.option3 = {};
question.option3.privateVar = 0;
question.option3.testing = function () {
question.option3.privateVar++;
// some code
};
question.option3.testing();
EDIT 2:
danke lanston und luisperezphd! mir war nicht klar, dass question.option3.privateVar in der global verfügbar war.
Gibt es einen Unterschied zwischen diesen beiden:
var question = {};
(function(){
var privateVar = "some value";
question.option4 = function(){
alert(privateVar);
}
})();
question.option4();
und dies:
var question = {};
question.option5 = function() {
var privateVar = "some value";
var someFunction = function() {
alert(privateVar);
}
return someFunction;
}
question.option5()();
?