JavaScript:数组声明上的 If 语句

标签 javascript jquery conditional-operator

是否可以在数组声明中放置 if 语句?

代码:

dayOfWeek = [if($('#sunday').checked()){$('#sunday').val()}];

Browser error: Uncaught SyntaxError: Unexpected token if.

我也尝试过:

$('#domingo').checked() ! $('#domingo').val() : 0

Browser error: Uncaught SyntaxError: Unexpected token !

编辑

@bažmegakapa 回答的没有错误的代码是:

diasSemana = new Array($domi.is(':checked') ? $domi.val() : null, $lun.is(':checked') ? $lun.val() : null);

这不起作用:

$('#domingo').checked() ? $('#domingo').val() : 0

浏览器显示此错误:未捕获类型错误:对象 [object Object] 没有“检查”方法

问候!

最佳答案

您需要的称为 ternary or conditional operator :

$('#domingo').checked() ? $('#domingo').val() : 0

但是,对于同一个元素两次查询 DOM 并不是一个好主意。预先将生成的 jQuery 对象保存到变量中并重复使用它:

var $domi = $('#domingo');
dayOfWeek = [$domi.checked() ? $domi.val() : 0];

我不知道 .checked() 是什么,也许你的意思是 .is(':checked')

Some fiddle demo to play with

关于JavaScript:数组声明上的 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16902117/

相关文章:

javascript - 在回发之间保存数据

jquery - 使用 jquery 的动态表 Css 属性

swift - 我如何使用? : in Swift?

perl - 如何使用 Perl 的三元条件运算符构造单词的复数形式?

javascript - IF、OR 和 AND 以及不同的结果 JavaScript

javascript - 仅删除 javascript 中的 1 个动态元素

php - 这是 'better way' 的做法吗?

c# - 如何在 c#, asp.net 中一次上传多张图片时检查图片是否已经存在/已附加

javascript - jQuery 文本输入 "takeover"

javascript - 通过 Javascript/jQuery 接收到的字节数和图像的总字节数