我正在使用Komodo IDE开发JavaScript库,但我希望我的IDE能够知道我拥有的对象类型以及它们的作用。特别是,我正试图解决这样的问题。请考虑以下事项:
NS = {
Template: {
Class1: function() {
this.arg1 = 0;
}
}
}
/**
* @return {NS/Template/Class1}
*/
function test()
{
return new NS.Template.Class1();
}
var tmp = test();
tmp. // that should give me a select box with "arg1" present
但上面的例子不起作用。我想我要么在@return中指定命名空间不正确,要么IDE根本不支持。以下示例不是我想要做的事情,但它有效:
NS = {
Template: {
/**
* @type __Class1
*/
Class1: __Class1 // this is only here for access via NS.*
}
}
function __Class1()
{
this.arg1 = 0;
}
/**
* @return {__Class1}
*/
function test()
{
return new __Class1();
}
var tmp = test();
tmp. // that does give a select box with "arg1" in it
基本上我要问的是,是否有人知道如何使用注释来使IDE(如果可能的话Komodo)识别“命名空间”中的类。第二个例子,虽然有效,但对我来说似乎非常难看,我不想使用它。
感谢您的想法