После моего последнего вопроса этот для меня более точен:
пример:
function Foo() {
this.bla = 1;
var blabla = 10;
blablabla = 100;
this.getblabla = function () {
return blabla; // exposes blabla outside
}
}
foo = new Foo();
что я понимаю сейчас:
this.bla = 1; // will become an attribute of every instance of FOO.
var blabla = 10; // will become a local variable of Foo(will **not** become an attribute of every instance of FOO), which could be accessed by any instance of FOO - only if there's a method like "this.getBlabla". that's a "closer" ?
blablabla = 100; // will define a **new** (or change if exist) global(window) variable.
Я правильно понимаю?
Также -, если я включу var blabla = 10;
и функцию getblabla
, которая использует ее в подрядчике, то для каждого экземпляра Foo ("foo"... )будет сохранена функция подрядчика Foo в памяти, которая включает эту "частную" переменную. или это будет та же функция Foo, что и место для частных переменных -для ВСЕХ экземпляров (, например «foo» )Foo?