Итак, я загрузил некоторый проект node.js-express в свою Eclipse IDE с перспективой JavaScript. Я получаю кучу странных ошибок, в том числеСтранные ошибки компилятора в модулях Eclipse для узлов
- не может вернуться из-за пределов функции
- Ошибка синтаксиса на маркер «» ,. Ожидаемый
- Ошибка синтаксиса; ожидаемый
Ниже приведен пример ошибки «возврат внешней функции».
#!/usr/bin/env node
'use strict';
var pkg = require('./package.json');
var supportsColor = require('./');
var argv = process.argv.slice(2);
function help() {
console.log([
'',
' ' + pkg.description,
'',
' Usage',
' supports-color',
'',
' Exits with code 0 if color is supported and 1 if not'
].join('\n'));
}
if (argv.indexOf('--help') !== -1) {
help();
return; //<-error
}
if (argv.indexOf('--version') !== -1) {
console.log(pkg.version);
return;
}
process.exit(supportsColor ? 0 : 1);
Вот пример «отсутствует»; ошибка:
function createParserGetter(name) {
return function get() {
return loadParser(name) //<- error
}
}
Я подозреваю, что последнее является просто придирчивым парсером. Первое похоже на его артефакт того факта, что мы используем фреймворк (node + express), поэтому сам код не является полным (потому что он будет введен?).
Спасибо!
Я знаю синтаксис JavaScript ... что меня поразило в том, что эта программа совершенно функциональна. Я хочу знать, почему ошибки здесь не являются ошибками. –
OH так: 1. оператор return просто игнорируется, но код работает по-прежнему, потому что нет необходимости в возврате в выражении if, если после возврата будет что-то, или оно вернет значение, я бы 't work – Kamil
2. там не осталось ничего после точки с запятой, если бы это было, это не сработало бы снова, но нет ничего, поэтому просто игнорируется. В javascript JSLint Ошибки, подобные этому, игнорируются для примера: каждый использует «alert()» для тестирования, но на самом деле это неправильно, вы не можете использовать такое предупреждение, поэтому оно вызывает ошибку JSLint, но оно просто игнорируется и фиксируется браузер или затмение, например. – Kamil