JavaScript三元运算符用法说明
我正在编写一个小脚本,使用三元运算符来表示简短的“if”语句。代码如下:JavaScript三元运算符用法说明,javascript,Javascript,我正在编写一个小脚本,使用三元运算符来表示简短的“if”语句。代码如下: self.checked ? psswrd[z].type = 'text' : psswrd[z].type = 'password'; 这本质上是说,如果检查了输入,则将输入类型设置为“text”,否则将其设置为密码。我觉得这是错误的,因为我在重复我自己 理想情况下,我想这样做: psswrd[z].type ? 'text' : 'password'; 但是如何检查正在检查的“如果”部分?我对这种三元方法还不熟悉
self.checked ? psswrd[z].type = 'text' : psswrd[z].type = 'password';
这本质上是说,如果检查了输入,则将输入类型设置为“text”,否则将其设置为密码。我觉得这是错误的,因为我在重复我自己
理想情况下,我想这样做:
psswrd[z].type ? 'text' : 'password';
但是如何检查正在检查的“如果”部分?我对这种三元方法还不熟悉,所以解释会有很大帮助,谢谢
完整循环(如果需要):
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';
}
}
}
干脆
psswrd[z].type = self.checked ? 'text' : 'password';
这也更具可读性。我建议更普遍地避免使用三元运算符替换if语句,除非代码看起来足够清晰。三元运算符:与[condition]类似使用?[code1]:[code2]计算条件,如果计算结果为true,则返回code1,否则返回code2。代码1和代码2都将被评估,只是其中一个,这是永远不会发生的。这就是为什么
var abc=test==null?不,是测试
如果测试为空或不为空,则两者都可以工作
运算符通常用于a=条件?code1:code2,那么它相当于
if (condition)
a = code1;
else
a = code2;
if (self.checked)
psswrd[z].type = 'text';
else
psswrd[z].type = 'password';
在您的情况下,您必须使用
psswrd[z]。类型=自检?“文本':'密码'
这是无与伦比的
if (condition)
a = code1;
else
a = code2;
if (self.checked)
psswrd[z].type = 'text';
else
psswrd[z].type = 'password';
一般用途的微小变化只是条件?code1:code2什么会导致code1或code2被执行,返回值将被丢弃。
或者您可以在另一个assign中使用它,比如var num=17+测试-17:25,如果测试评估为真,则将num设置为0;如果评估为假,则将num设置为42。Ah,现在获取它。它必须在作业中使用!谢谢你,这真的很有帮助。是的,我读到你只是为了简单而使用它,我认为这一个足够简单。当你在作业中使用它时,它很好。这是最经典的用法。