All of those are functions. And in the definition of Person they are attached to this because when you do new Person, this is going to be the instance of Person that you’ve just created, ie the calling context (you call the function getFullName in the context of that specific Person object, it’s attached specifically to that).
When the Person function is called, it creates a small environment, a closure, where any variables defined inside it also live. In this case there is a variable called fullName. It’s only accessible from inside the scope of the function, it is in effect private. But that object you’ve just created is also inside that scope, so those functions attached to the object can also access it.
As @lasjorg mentioned, it’s a bit strange that they’ve done it this way without explaining what’s happening. It’s a wee bit of an unusual way to do things, there are better ways; it works but it should explain why it works a bit better.