pe.gcd.)        // Also, 'gcd' == "gcd", this['gcd'] == this.gcd        this['gcd'] = function() { return a; };        return a;    },    "lcm" /* can use strings here */: function() {        // Variable names don't collide with object properties, e.g. |lcm| is not |this.lcm|.        // not using |this.a * this.b| to avoid FP precision issues         var lcm = this.a / this.gcd() * this.b;         // Only need to calculate lcm once, so "redefine" this method.        this.lcm = function() { return lcm; };        return lcm;    },    toString : function() {        return "LCMCalculator: a = " + this.a + ", b = " + this.b;    }};// Note: Array's map() and forEach() are predefined in JavaScript 1.6.// They are currently not available in the JScript engine built into// Microsoft Internet Explorer, but are implemented in Firefox, Chrome, etc. // They are used here to demonstrate JavaScript's inherent functional nature.[[25,55],[21,56],[22,58],[28,56]].map(function(pair