In javascript, any function is also an object, they are objects of Function, just as Number, Object, Array
One tricky thing is the new word, then it prefix before a function, it create a new object, and make this keyword pointer to that new object (one more, it assign that function prototype to the new object __ proto __).
In function,
this.value = 0;
would create a new property value to the new object, and assign 0 to it.
If there is no new before function, it's function call, and this will pointer to Window object.
Try to console.dir(this); in the function, you will see the difference.
myFunction.value = 0;
would create property value to myFunction, and assign 0 to it. Because myFunction is just an object (of Function).