blob: bf8c8f04c729f89de82f64f66431318f666001fc [file] [log] [blame]
(function(){echo("hasOwnProperty(caller): ", arguments.hasOwnProperty("caller"));})();
hasOwnProperty(caller): false
var foo = function(){};(function(){echo("hasOwnProperty(caller): ", foo.hasOwnProperty("caller"));})();
hasOwnProperty(caller): true
var foo = function(){};(function(){"use strict";echo("hasOwnProperty(caller): ", foo.hasOwnProperty("caller"));})();
hasOwnProperty(caller): true
(function(){echo("hasOwnProperty(callee): ", arguments.hasOwnProperty("callee"));})();
hasOwnProperty(callee): true
var foo = function(){};(function(){echo("hasOwnProperty(arguments): ", foo.hasOwnProperty("arguments"));})();
hasOwnProperty(arguments): true
var foo = function(){};(function(){"use strict";echo("hasOwnProperty(arguments): ", foo.hasOwnProperty("arguments"));})();
hasOwnProperty(arguments): true
(function(){arguments.caller;})();
var foo = function(){};(function(){foo.caller;})();
var foo = function(){};(function(){"use strict";foo.caller;})();
(function(){arguments.callee;})();
var foo = function(){};(function(){foo.arguments;})();
var foo = function(){};(function(){"use strict";foo.arguments;})();
(function(){arguments.caller = 0;})();
var foo = function(){};(function(){foo.caller = 0;})();
var foo = function(){};(function(){"use strict";foo.caller = 0;})();
TypeError: Attempted to assign to readonly property.
(function(){arguments.callee = 0;})();
var foo = function(){};(function(){foo.arguments = 0;})();
var foo = function(){};(function(){"use strict";foo.arguments = 0;})();
TypeError: Attempted to assign to readonly property.
(function(){Object.defineProperty(arguments, "caller", {value: 0});})();
var foo = function(){};(function(){Object.defineProperty(foo, "caller", {value: 0});})();
TypeError: Attempting to change value of a readonly property.
var foo = function(){};(function(){"use strict";Object.defineProperty(foo, "caller", {value: 0});})();
TypeError: Attempting to change value of a readonly property.
(function(){Object.defineProperty(arguments, "callee", {value: 0});})();
var foo = function(){};(function(){Object.defineProperty(foo, "arguments", {value: 0});})();
TypeError: Attempting to change value of a readonly property.
var foo = function(){};(function(){"use strict";Object.defineProperty(foo, "arguments", {value: 0});})();
TypeError: Attempting to change value of a readonly property.
(function(){var descriptor = Object.getOwnPropertyDescriptor(arguments, "caller");if(descriptor.hasOwnProperty("get")) safeCall(descriptor.get);if(descriptor.hasOwnProperty("set")) safeCall(descriptor.set);})();
TypeError: undefined is not an object (evaluating 'descriptor.hasOwnProperty')
var foo = function(){};(function(){var descriptor = Object.getOwnPropertyDescriptor(foo, "caller");if(descriptor.hasOwnProperty("get")) safeCall(descriptor.get);if(descriptor.hasOwnProperty("set")) safeCall(descriptor.set);})();
var foo = function(){};(function(){"use strict";var descriptor = Object.getOwnPropertyDescriptor(foo, "caller");if(descriptor.hasOwnProperty("get")) safeCall(descriptor.get);if(descriptor.hasOwnProperty("set")) safeCall(descriptor.set);})();
(function(){var descriptor = Object.getOwnPropertyDescriptor(arguments, "callee");if(descriptor.hasOwnProperty("get")) safeCall(descriptor.get);if(descriptor.hasOwnProperty("set")) safeCall(descriptor.set);})();
var foo = function(){};(function(){var descriptor = Object.getOwnPropertyDescriptor(foo, "arguments");if(descriptor.hasOwnProperty("get")) safeCall(descriptor.get);if(descriptor.hasOwnProperty("set")) safeCall(descriptor.set);})();
var foo = function(){};(function(){"use strict";var descriptor = Object.getOwnPropertyDescriptor(foo, "arguments");if(descriptor.hasOwnProperty("get")) safeCall(descriptor.get);if(descriptor.hasOwnProperty("set")) safeCall(descriptor.set);})();