Resig, Pro Javascript Techniques p.35

Privileged Methods.

by BrownieBoy

HTML

<input type="button" onclick="doAction();" value="doAction()"><br>
<br>
<br>

<input name="TestField" value="" id="TestField"></form>

JavaScript

function Classroom(students, teacher) {
    var that = this;
    function disp() {
           console.log(that.students.join(", "));
    }
    this.students = students;
    this.teacher = teacher;
    disp();   
}

function User(name, age) {
    this.name = name;
    var year = (new Date()).getFullYear() - age;
    this.getYearBorn = function() {
        return year;
    }
}

function doAction() {
    var myClass = new Classroom(["John", "Bob"], "Mr. Smith");
        // myClass.disp();   // will fail because it's private
    var user = new User("Bob", 44);
    console.log(user.name + ' born in ' + user.getYearBorn());
    console.log('year = ' + user.year); // Private so should fail.
    
    var x = 1;
}