本文介绍了有没有办法检查是否强制执行严格模式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
无论如何都要检查是否强制执行严格模式'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
这篇关于有没有办法检查是否强制执行严格模式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!