you can tack-on prototype methods and properties at any time, but adding own properties would require modifying the constructor code, which might not always be feasible or practical. felgall's array prototype is a good example of this. it's easier to decorate something that already exists and is working, rather than duplicate a bunch of functionality in a "sub class".
BROWSER STATS [% share]
(2013/12/12) IE7:0.3, IE8:7.5, IE11:4.3, IE9:4.6, IE10:7.8, FF:18, CH:43, SF:5.5, MOBILE:21.5