JavaScript三元运算符使用说明

Hal*_*991 0 javascript

我正在编写一个小脚本,使用三元运算符来处理短手'if'语句.代码如下:

self.checked ? psswrd[z].type = 'text' : psswrd[z].type = 'password';
Run Code Online (Sandbox Code Playgroud)

这基本上说,如果选中输入,则输入类型为"text",否则为密码.我有一种感觉,这是我在重复自己的意义上的错误.

理想情况下,我想做这样的事情:

psswrd[z].type ? 'text' : 'password';
Run Code Online (Sandbox Code Playgroud)

但是我如何检查它的'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';

                }
            }

        }
Run Code Online (Sandbox Code Playgroud)

Den*_*ret 6

简单地做

 psswrd[z].type = self.checked ? 'text' : 'password';
Run Code Online (Sandbox Code Playgroud)

这也更具可读性.我建议更一般地避免使用三元运算符来替换if语句,除非代码看起来足够清楚.