无法在任何地方找到这个答案,但我确实找到了几个讨论这个问题的邮件列表,但这些列表相当陈旧,我不知道是否实现了这个.
无论如何强制在node.js中使用严格模式?
写"use strict";在我所有的.js文件...好,我喜欢它被迫使用严格模式,而不是增加额外的样板.
我试图global在一行中用JavaScript 定义对象,如下所示:
var global = this.global || this;
Run Code Online (Sandbox Code Playgroud)
以上陈述属于全球范围.因此,在浏览器中,this指针是window对象的别名.假设它是在当前网页的上下文中执行的第一行JavaScript,其值global将始终与this指针或window对象的值相同.
在CommonJS实现中,例如RingoJS和node.js,this指针指向当前ModuleScope.但是,我们可以global通过上面global定义的属性访问该对象ModuleScope.因此,我们可以通过this.global酒店访问它.
因此,此代码段适用于所有浏览器以及至少RingoJS和node.js,但我还没有测试过其他CommomJS实现.因此,我想知道当在任何其他CommonJS实现上运行时,此代码是否不会产生正确的结果,如果是,我将如何解决它.
最后,我打算在lambda表达式中使用它来实现我的实现独立JavaScript框架,如下所示(来自jQuery的想法):
(function (global) {
// javascript framework
})(this.global || this);
Run Code Online (Sandbox Code Playgroud)