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}”)。