Возможный дубликат:
Javascript: мне нужно поместить this.var для каждой переменной в объекте?
Я пытаюсь понять функции и объекты в javascript. Говорят, что также функции - это объекты и объекты, которые являются "ассоциативными массивами", то есть коллекциями пар ключ-значение. Я понимаю, что если я напишу
function myFunction() {
var value = 0;
}
alert(myFunction.value); //then this gives me "undefined"
поскольку переменные имеют область действия. Но если я пишу
function myFunction() {
this.value = 0;
}
alert(myFunction.value); //then this gives me "undefined" too.
Но, наконец, если я пишу
function myFunction() {
this.value = 0;
}
myFunction.value = 0;
alert(myFunction.value); //then this gives me 0
Поэтому я могу присвоить свойство myFunction "значение", но из "снаружи". Может кто-нибудь объяснить, что происходит и почему this.value = 0; не создает свойство "значение".