JSLint говорит, что отсутствует новое ключевое слово

Скажем, у меня есть JavaScript, который выглядит так:

function A() {
 var MyVar, SomeParameter;
 // do work
 MyVar = FunctionB(SomeParameter);
}

JsLint говорит, что я Missing 'new'. at the line MyVar = FunctionB(SomeParameter);

Зачем мне переписывать как MyVar = new FunctionB(SomeParameter); Будет ли какая-нибудь польза?

2 ответа

Это соглашение, что конструкторы (например: Array, Object) начинаются с капитала.

JSLint жалуется, потому что думает, что вы пытаетесь использовать конструктор без ключевого слова new. Чтобы устранить проблему, запустите свою функцию с символом, отличным от верхнего регистра.


JSLint считает, что функция является конструктором, поскольку она имеет верхний регистр. Назовите свои функции неконструктора исходной строчной буквой, а JSLint перестанет жаловаться.

licensed under cc by-sa 3.0 with attribution.