是否有仅支持严格模式的js环境?

时间:2016-08-23 17:20:45

标签: javascript strict-mode

我目前正在开发一个依赖arguments.callee.caller的lib。这与"use strict"不兼容,因此在严格模式下定义调用函数时会抛出错误。我抓住那些错误,它们并不重要,因为重要部分没有在严格模式下定义。是否存在仅支持严格模式的环境,因此与此lib不兼容?

2 个答案:

答案 0 :(得分:1)

  

是否存在仅支持严格模式的环境?

您可以配置Node.js来执行此操作,请参阅Any way to force strict mode in node?

node --use_strict

答案 1 :(得分:0)

任何现代JS环境在certain ES6 contexts的上下文中始终具有严格模式。即:

  
      
  • 模块代码始终是严格的模式代码。
  •   
  • ClassDeclaration ClassExpression 的所有部分都是严格模式代码。
  •   

当然,如果你想成为未来的证据,这里真正的答案是不要使用arguments.callee.caller

但是如果你想避免严格的模式限制,你可以直接使用命名函数访问Function.caller。这是非常沮丧的,因为它是一个非标准的功能。