我有一个简单的JavaScript依赖加载器库。 define函数将类定义到具有给定名称和require函数的classes对象中,确保在满足依赖项时运行指定的代码。
当MyClass
和MyClass2
注册到classes对象中时,我需要使用classes.MyClass
和classes.MyClass2
访问它们。我想对MyClass和MyClass2发表评论告诉PhpStorm在哪里寻找这些。目前我得到“Unresolved type MyClass”
我有没有办法用JSDoc正确评论这种情况?
var classes = {},
_loaded = {};
function define(name, callback) {
classes[name] = callback(jQuery);
if (typeof _loaded[name] === 'undefined') {
_loaded[name] = jQuery.Deferred();
}
_loaded[name].resolve();
}
function require(name, callback) {
if (typeof _loaded[name] === 'undefined') {
_loaded[name] = jQuery.Deferred();
}
_loaded[name].done(callback);
}
define('MyClass', function($) {
function MyClass() {}
MyClass.prototype.hello = function() {
$('body').html('Hello')
};
return MyClass;
});
setTimeout(function() {
define('MyClass2', function($) {
function MyClass2() {}
MyClass2.prototype.hello = function() {
$('body').html('Hello MyClass2')
};
return MyClass2;
});
}, 4000);
require('MyClass', function() {
var a = new classes.MyClass();
a.hello();
});
require('MyClass2', function() {
var b = new classes.MyClass2();
b.hello();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>