0

私は、省略形の「if」ステートメントに三項演算子を使用して、小さなスクリプトに取り組んでいます。コードは以下のとおりです。

self.checked ? psswrd[z].type = 'text' : psswrd[z].type = 'password';

これは基本的に、入力がチェックされている場合は入力タイプを「テキスト」にし、そうでない場合はパスワードにします。私は自分自身を繰り返しているという意味で、これは間違っていると感じています.

理想的には、次のようなことをしたい:

psswrd[z].type ? 'text' : 'password';

しかし、チェックされている「if」部分を確認するにはどうすればよいですか? 私はこの三項法に慣れていないので、説明は大いに役立ちます。ありがとうございます。

必要に応じて完全なループ:

for ( var j = 0; j < checkz.length; j++ ) {

            var self = checkz[j];
            self.onchange = function () {
                for ( var z = 0; z < psswrd.length; z++ ) {

                    self.checked ? psswrd[z].type = 'text' : psswrd[z].type = 'password';

                }
            }

        }
4

2 に答える 2

6

単純に

 psswrd[z].type = self.checked ? 'text' : 'password';

これはまた、はるかに読みやすいです。ifコードが十分に明確に見えない限り、三項演算子を使用してステートメントを置き換えることは、より一般的に避けることをお勧めします。

于 2013-07-15T14:38:03.050 に答える