3 Stimmen

Wege zum Schutz des globalen Bereichs in Javascript

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()();

?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X