2014-10-10 19 views
0

我最近切换到WebStorm,并且被JavaScript原型修改中的一个奇怪问题困住了。如果我定义如下:Webstorm原型函数中未解决的方法/变量

something.really.neat = function(blah) { 
    this.dog = "cat" 
} 

something.really.neat.prototype.getCow = function(blah2) { 
    this.dog = "cow" 
} 

每一个通话中的原型功能结果this.dog在“未解决变量”的错误。 WebStorm应该能够轻松地遵循从原型到主要功能的范围,但似乎无法实现。

此函数的最终结果是角工厂:

angular.factory('neat', function() { 
    return new something.really.neat(); 
}); 
+0

只有在将构造函数放入'something.really.'命名空间时才会发生这种情况吗?当你使用'Neat'时,它会起作用吗?代码是否真正起作用(并且只有“类型”推断才会喊出警告)? – Bergi 2014-10-10 03:19:05

+0

它是否真的警告“未解决*变量*”? '.dog'是*属性*,'this'是该方法的* context *而不是* scope *。 – Bergi 2014-10-10 03:21:51

+0

它说没有解决变量的狗,可能是因为这种情况下没有财产狗。也就是说,我设法追查了这个问题。 – 2014-10-10 03:28:23

回答

0

在5分钟后我发现其有问题JSDoc(或至少我的语法)。我在每个属性上都使用@memberOf,显然我用于@memberOf的语法是错误的,导致WebStorm无法找到范围。

相关问题