Функции являются объектами, поэтому они могут иметь свойства, но это просто свойства, не более того.
Итак, переменная , которую вы объявили внутри функции (var prop1
) не имеет ничего общего со свойством объекта функции (myFunc.prop1
). У них просто одно и то же имя.
Чтобы увидеть это, давайте посмотрим на это:
function myFunc() {
var prop1 = 10;
console.log(prop1);
}
myFunc(); //10
console.log(myFunc.prop1); //undefined - no such property
myFunc.prop1=20; //myFunc.prop1 is now 20
myFunc(); //variable is still 10
console.log(myFunc.prop1); //property is still 20