« Back to Index

Access original value of property that has been over-written /via @jdalton and modified by @dperini

View original Gist on GitHub

Tags: #js

Access-Original-Value.js

(function() {
  var hasKey = {}.hasOwnProperty;

  Object.prototype.hasOwnProperty = 1;
  delete Object.prototype.hasOwnProperty;

  var iframe = document.createElement('iframe');
  document.documentElement.appendChild(iframe);
  Object.prototype.hasOwnProperty = window.frames[0].Object.prototype.hasOwnProperty;
  document.documentElement.removeChild(iframe);

  alert('value after deleting Object.prototype.hasOwnProperty is: ' + {}.hasOwnProperty);

}());