我正在编写一个小脚本,使用三元运算符来处理短手'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)
简单地做
psswrd[z].type = self.checked ? 'text' : 'password';
Run Code Online (Sandbox Code Playgroud)
这也更具可读性.我建议更一般地避免使用三元运算符来替换if
语句,除非代码看起来足够清楚.