本文介绍了有没有办法检查是否强制执行严格模式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无论如何都要检查是否强制执行严格模式'use strict',并且我们想要为严格模式执行不同的代码,而为非严格模式执行其他代码。
寻找类似的函数isStrictMode(); // boolean

Is there anyway to check if strict mode 'use strict' is enforced , and we want to execute different code for strict mode and other code for non-strict mode.Looking for function like isStrictMode();//boolean

推荐答案

在全局上下文中调用的函数中的 this 不会指向全局对象的事实可用于检测严格模式:

The fact that this inside a function called in the global context will not point to the global object can be used to detect strict mode:

var isStrict = (function() { return !this; })();

演示:

> echo '"use strict"; var isStrict = (function() { return !this; })(); console.log(isStrict);' | node
true
> echo 'var isStrict = (function() { return !this; })(); console.log(isStrict);' | node
false

这篇关于有没有办法检查是否强制执行严格模式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-10 09:17