Javascript 如何在JSLint@param声明中表示复杂对象

Javascript 如何在JSLint@param声明中表示复杂对象,javascript,jslint,Javascript,Jslint,我有一个动态创建的对象(即它不是类),具有以下结构: [ { keys: [ 'a', 'b' ], info: [ { key: 'a', data: [ { position: 10.0,

我有一个动态创建的对象(即它不是类),具有以下结构:

    [
        {
            keys: [ 'a', 'b' ],
            info: [
                {
                    key: 'a',
                    data: [
                        {
                            position: 10.0,
                            value: 100.0
                        }   // repeated
                    ]
                }  // repeated
            ],
            sign: -1,
            atZero: true,
            virtual: false
        } // repeated
    ]
我有一个函数处理这样的结构(它们都应该有相同的布局)。我使用运行JSLint的WebStorm,并通过引用JSLint注释报告任何参数类型错误。我希望WebStorm检查此参数的类型


如果我想告诉JSLint方法的参数或返回值就是这样的结构,我该怎么做?

您不需要/不能。你能举一个更具体的例子说明你想做什么吗?我认为这种对象嗅探需要/应该在通用的“代码质量工具”之外发生。我已经编辑了这个问题,试图让它更清楚我为什么要这样做。我不想进行任何“嗅探”,我只想让JSLint(静态地)验证传递的实际参数是否符合预期的布局。是的,除非你想自己扩展JSLint.js(但即使这样,我也不确定它如何在运行代码之外验证参数类型,所以也许我仍然遗漏了一些东西)。您可能会对以下内容感兴趣:如果您想在JavaScript代码中注入强类型约定。奇怪的是,它似乎能够检查类、数组和内置类型OOK,并且我看到了指定“匿名”类型内容的示例代码(但我看到的语法不起作用,例如“{a:Number,b:string}”)。