TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functio
时间: 2024-08-13 12:01:13 浏览: 110
Babel7.x完美解决严格模式报错:’caller’, ‘callee’, and ‘arguments’ properties may not be accessed on strict mode
5星 · 资源好评率100%
TypeError: 'caller', 'callee', 和 'arguments' 属性在严格模式下 JavaScript 函数中不可访问,这是因为这些属性通常用于内部函数调试和堆栈跟踪,但在严格模式下,为了防止安全漏洞和滥用,JavaScript 规定这些私有属性不应在正常代码中直接获取。
当你试图在严格模式(`'use strict';`)的函数上下文中获取这些属性时,浏览器会抛出这个错误。例如:
```javascript
(function() {
'use strict';
console.log(callStack()); // TypeError: callStack is not a function
})();
```
在这个例子中,`callStack()` 是一个不存在的函数,但由于是在严格模式下,尝试访问 `caller`, `callee`, 或 `arguments` 会触发错误。
阅读全文