Javascript Webstorm原型函数中未解析的方法/变量
我最近切换到WebStorm,我遇到了一个关于javascript原型修改的奇怪问题。如果我定义以下内容:Javascript Webstorm原型函数中未解析的方法/变量,javascript,webstorm,jetbrains-ide,Javascript,Webstorm,Jetbrains Ide,我最近切换到WebStorm,我遇到了一个关于javascript原型修改的奇怪问题。如果我定义以下内容: something.really.neat = function(blah) { this.dog = "cat" } something.really.neat.prototype.getCow = function(blah2) { this.dog = "cow" } 原型函数中每次调用this.dog都会导致“未解析变量”错误。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();
});
5分钟后,我发现JSDoc有问题(或者至少我的语法有问题)。我在每个属性上都使用了@memberOf,显然我在@memberOf中使用的语法是错误的,导致WebStorm无法定位作用域。只有当您将构造函数放入
某物中时才会发生这种情况。真的。
命名空间?当您将整洁的大写时,它是否起作用?代码真的有效吗(只有“类型”推理发出警告)?它真的对“未解析变量”发出警告吗.dog
是一个属性,此
是上下文而不是方法的范围。它表示未解析变量dog,可能是因为此上下文没有属性dog。也就是说,我设法找到了问题。这应该有助于理解错误:。迈克·韦斯特是个好作家。