Javascript 如何";使用“严格的”;对于匿名函数中的类?

Javascript 如何";使用“严格的”;对于匿名函数中的类?,javascript,Javascript,我正试图建立一个使用严格标准的图书馆 /*jslint */ (function() { 'use strict'; function MyLibrary() { } MyLibrary.prototype.add = function () { } }()); var usersLibrary = new MyLibrary(); 我尝试使用经典语法来实例化类(使用“new”)。不幸的是,我无法调用myLibrary,因为它的作用域在函数中。

我正试图建立一个使用严格标准的图书馆

/*jslint */
(function() {
    'use strict';

    function MyLibrary() {

    }

    MyLibrary.prototype.add = function () {

    }
}());

var usersLibrary = new MyLibrary();

我尝试使用经典语法来实例化类(使用“new”)。不幸的是,我无法调用myLibrary,因为它的作用域在函数中。

将其显式添加到全局上下文:

(function(global) {
    'use strict';

    function myLibrary() {

    }

    myLibrary.prototype.add = function () {

    }

    global.myLibrary = myLibrary;
}(this));

这不是窗口吗?jslint的blabbing:“MyLibrary”在定义之前就已经使用过了。@user3448187是的,但这样做意味着代码也可以在Node.js中工作(这可能并不重要)。我不知道为什么jslint会抱怨;它在抱怨什么?当我实例化这个类时,它在抱怨。var foo=new MyLibrary()可能定义为IIFE之前的全局变量:
var MyLibrary