Testing variables

by jorgeluis

HTML

<h1>Testing variables</h1>
<div id="log"></div>

JavaScript

var person = {};

person.name = 'Mike';

// iife
(function() {
    person.age = 30; // global var (namespaced)

    var gender = 'male'; // private var

    document.getElementById('log').innerHTML += 'name: ' + person.name + '<br>';
    document.getElementById('log').innerHTML += 'age: ' + person.age + '<br>';
    document.getElementById('log').innerHTML += 'gender: ' + gender + '<br>';
    
    person.gender = gender; // asign new person property the same value as current gender
    
    gender = 'female'; // reassign gender var... doesn't change 'person.gender'

})();

// person.age is available outside the iife
document.getElementById('log').innerHTML += 'later age: ' + (person.age + 1) + '<br>';

// person.gender is available, too, but the original value
document.getElementById('log').innerHTML += 'later gender: ' + person.gender + '<br>';