为何IntelliJ/WebStorm编辑器中删去JavaScript中的变量声明语句后,引用变量时未给出下划线错误提示???

JavaScript 代码如下:

function Class1() {
    // var _prop1 = "你好"; // 删去变量声明语句

    // Class1.prototype.MSG_ERROR = "出错了"; // 删去变量声明语句

    alert(_prop1); // 在编辑器里会有下划线提示:未声明的变量。

    alert(Class1.prototype.MSG_ERROR); // 在编辑器没有下划线提示!给调试带来极大困扰!
}

用 var 声明的变量,删去声明语句后,引用时编辑器里会正常给出下划线提示。

用原型方式定义的变量,删去定义语句后中,引用时编辑器没有给出任何异常提示,给调试带来极大困扰!然而诡异的是,在另一台电脑上,不管是在 IntelliJ 软件、还是在 WebStorm 软件中,这种情况都会给出下划线提示。为何同样的软件,在另一台电脑上,就不会给出提示了呢?百思不得其解!

阅读 4.3k
1 个回答

把光标放置在下划线处,左边会浮现一个提示标记(也可以快捷键调出,但是我不知道 win 下的快捷键,自己查一下),于是你就知道这个错误的具体情况了,同时各种错误都能被单独打开关闭,这也是你发现有的有有的没有的原因。

Webstorm 的定制性是很强的,包括各种错误提示。对于 Javascript 而言,你选择的语言版本或者是否开启了 linting 等等都会影响错误的提示方式及数量。

另外,一般来讲是不会在原型上定义属性的,因为原型是共享的,定义属性会使得所有的实例访问同一个内存地址,这就失去了继承的意义了。原型还是以定义方法为主,再次也是定义属性的 getter/setter 来保证属性的动态性。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题