Sono nuovo alla programmazione javascript (e ai linguaggi di scripting in generale), ma ho usato JS Lint per aiutarmi quando faccio errori di sintassi o dichiaro accidentalmente una variabile globale.È possibile impedire il passaggio di un numero errato di parametri ai metodi con JS Lint, JS Hint o qualche altro strumento?
Tuttavia, esiste uno scenario che JS Lint non copre, che ritengo sarebbe incredibilmente utile. Vedere il codice qui sotto:
(function() {
"use strict";
/*global alert */
var testFunction = function (someMessage) {
alert("stuff is happening: " + someMessage);
};
testFunction(1, 2);
testFunction();
}());
Si noti che sto passando un numero errato di parametri da TestFunction. Non mi aspetto mai in una situazione in cui vorrei lasciare intenzionalmente un parametro o aggiungerne uno in più. Tuttavia, né JS Lint né JS Hint considerano questo un errore.
C'è qualche altro strumento che potrebbe catturare questo per me? O c'è qualche ragione per cui il passaggio di parametri del genere non dovrebbe essere controllato?
E 'vicino a quello che stai chiedendo? https://jslinterrors.com/this-function-has-too-many-parameters –
No.Questo sembra essere un limite al numero di parametri che la funzione può avere. Non mi interessa particolarmente se la funzione ha 2 o 7 parametri. Semplicemente non voglio chiamare una funzione che ha 2 parametri con una chiamata che passa in 7. – tandersen
Ah quindi vuoi una soluzione generale oltre a contrassegnare ogni funzione con un valore personalizzato come min = 3 e max = 3 per un 3 -parametro funzione. Non ho visto una tale regola. –