This question is related to What are the best practices to follow when declaring an array in Javascript? Let's say a client, let's call them "D. B. Cooper" , has a first requirement that the following code must run before any other JavaScript code: Array = function(){ alert('Mwahahahaha'); }; Furthermore, Cooper requires that custom functions must be added to the built in Array object (not the hijacked one). For example, if Array was unhijacked, this would be done with: Array.prototype.coolCustomFunction = function(){ alert('I have ' + this.length + ' elements! Cool!'); }; Which would afford: