Sau câu hỏi cuối cùng của tôi, điều này là chính xác hơn đối với tôi:“var” biến "này" biến và các biến "toàn cầu" - bên trong một Constructor Javascript
dụ:
function Foo() {
this.bla = 1;
var blabla = 10;
blablabla = 100;
this.getblabla = function() {
return blabla; // exposes blabla outside
}
}
foo = new Foo();
những gì tôi hiểu ngay bây giờ:
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.
Tôi có hiểu chính xác không?
Ngoài ra - nếu tôi bao gồm var blabla = 10;
và chức năng getblabla
sử dụng nó trong nhà thầu, sau đó cho mọi trường hợp của Foo ("foo" ...), sẽ được lưu một hàm Foo nhà thầu trong bộ nhớ bao gồm biến "riêng tư". hoặc sẽ có cùng chức năng Foo với vị trí cho các biến riêng tư - cho TẤT CẢ các trường hợp (như "foo") của Foo?
Ba xác nhận đầu tiên của bạn là chính xác. Tôi không hoàn toàn làm theo những gì bạn đang yêu cầu cho câu hỏi cuối cùng của bạn. Bạn có thể làm rõ?Bạn cũng có thể thử các biến không được đặt tên tương tự như vậy không? Thật khó để làm theo. Cảm ơn. – Brad
Nó cũng phức tạp với tôi. Tôi có nghĩa là - tha thứ một đóng cửa, phải không? và đó là một nhà thầu - vì vậy, đối với mọi trường hợp của Foo, sẽ có một đóng cửa mới của Foo trong bộ nhớ? công cụ này hoạt động như thế nào? cảm ơn. – Daniel