Assume you have input element:
Then launch js script:
var e =
For hidden input elements, defaultValue isn't actually implemented. The reason why you get the same result ast .value is because the browser your using is just defaulting.
.value
See here for a discussion of this with Firefox.