は、私は、次の機能があります。この機能でダブルコンソールメッセージが表示されるのはなぜですか?
var checkNameLenght = function(name,nameLenght,allowedLenght,defaultName) {
var result;
if(!(nameLenght <= allowedLenght) || !(/[^a-z]/i.test(name))) {
result = name;
}
else {
if(opts.debug == true) {
console.log(name+' is to long or contains special characters/numbers | Please choose a name shorter than '+allowedLenght+' characters or remove any character/number');
}
result = defaultName;
}
return result;
}
私は(私の場合には、入力の値)を文字列の長さをチェックするためにそれを使用すると、それは特殊文字や数字が含まれている場合。
私はそうのようにそれを使用します。
var input = 'Somevalue';
checkNameLenght(input ,input.length,16,'Username');
唯一のことは、二回input
文字列は、コンソールの意志の出力よりも、上記の条件のいくつかが含まれている場合は、そのメッセージです。
どうしてですか?
JS Consoleで提供されたコードを手動で実行すると、二重印刷エラーは発生しませんでした。 'checkNameLenght()'が呼び出されている間は、何度も呼び出されていないことを確認してください。もう少しコードを見れば参考になるかもしれません。 –
私はあなたに答えがありませんが、私は卑劣であり、 "長さ"を "長さ"と全機能を通して綴っていることを指摘しました。 – evilspoons
あなたのコードには、このログが2回記録されることは何もありません。おそらく、コードの残りの部分で 'checknameLenght()'関数を2回以上呼び出すでしょうか? – swatkins