JSLint说缺少新的关键字

fre*_*hie 4 javascript coding-style jslint new-operator

假设我有一些看起来像这样的JavaScript:

function A() {

  var MyVar, SomeParameter;

  // do work

  MyVar = FunctionB(SomeParameter);

}
Run Code Online (Sandbox Code Playgroud)

JsLint说我是 Missing 'new'. at the line MyVar = FunctionB(SomeParameter);

我为什么要改写为什么MyVar = new FunctionB(SomeParameter);会有任何好处?

Rob*_*b W 9

这是惯例是构造函数(如:Array,Object)开始以大写.

JSLint抱怨,因为它认为你正在尝试使用没有new关键字的构造函数.要解决此问题,请使用非大写字符启动函数.

  • 语义是的,但我应该指出这是一个广泛使用的惯例^^ (5认同)

Dag*_*bit 5

JSLint认为该函数是一个构造函数,因为它是大写的.使用初始小写字母命名非构造函数,JSLint将停止抱怨.