Resigs Beitrag verweist auf seine env.js-Implementierung, die das erste Mal ist, dass er die Getter- und Setter-Methodik verwendet, nach der Sie suchen. Der Grund, warum dieser Stil der Arbeiten gut für ihn ist, weil sie nicht in einer Browser-basierten Umgebung verwendet werden, env.js ist in erster Linie für Server-seitige JS oder Skripting-Umgebungen wie Rhino konzentriert.
Um die Browserkompatibilität zu gewährleisten und sich auf einen Aspekt zu konzentrieren, den JavaScript sehr gut beherrscht, verwenden Sie Closures für Ihre Getter- und Setter-Methoden, um Objekteigenschaften zu schützen.
Zum Beispiel:
foo: function(val) {
var bar = val;
this.setBar: function(newBar) {
bar = newBar;
},
this.getBar: function() {
return bar;
}
}
Das wird dazu führen:
var checkFoo = foo("cool!");
alert(checkFoo.getBar()); //cool!
checkFoo.setBar("nice!");
alert(checkFoo.getBar()); //nice!
1 Stimmen
Ie9 und ie10 unterstützen dies jetzt: kangax.github.com/es5-compat-table
0 Stimmen
Sie werden bei Objektliteralen unterstützt, aber nicht bei Objektprototypen im IE :(. robertnyman.com/javascript/