Javascript 是否有任何地方defaultChecked比仅仅引用checked更有利?

Javascript 是否有任何地方defaultChecked比仅仅引用checked更有利?,javascript,Javascript,defaultChecked比checked更适合哪个用例 选中-布尔值 返回/设置类型为checkbox或radio时元素的当前状态 defaultChecked-Boolean返回/设置创建此对象的HTML中最初指定的单选按钮或复选框的默认状态 资料来源: document.getElementById('opt2')。checked=true; document.querySelectorAll('input').forEach(input=>console.log(input.chec

defaultChecked
checked
更适合哪个用例

选中-布尔值
返回/设置类型为checkbox或radio时元素的当前状态

defaultChecked-Boolean
返回/设置创建此对象的HTML中最初指定的单选按钮或复选框的默认状态

资料来源:

document.getElementById('opt2')。checked=true;
document.querySelectorAll('input').forEach(input=>console.log(input.checked))

如果可以通过
或调用
.reset()
的东西重置表单,
defaultChecked
将允许您动态更改重置表单的含义和行为

defaultChecked
可能有益的另一个可能的用例是使用伪类使元素包含在选择中或从选择中排除。也许这可以用于造型目的

然而,正如前面的评论所说,这两种属性都有不同的行为,我认为重要的是要考虑改变事物的“默认”的语义含义并相应地选择。

document.getElementById('opt2')。checked=true;
document.getElementById('opt3')。defaultChecked=true;
document.querySelectorAll('input[type=checkbox]').forEach(input=>console.log(input.checked));
document.querySelectorAll('input:default').forEach(input=>console.log(input.id))


defaultChecked
是指默认情况下是否选中,
已选中
是指当前是否选中。使用哪一个取决于您想要哪个,但这样组合它们似乎不太可能是正确的。假设我从未见过一个用例,其中初始设置与当前设置很重要,如果您在保存时比较值,例如
(selector.checked&&(selector.defaultChecked!==selector.checked))
。谢谢。如果你停下来想一想,这一行是最初在创建这个对象的HTML中指定的。
它们有完全不同的行为
checked
是显示用户在表单中选中的选项,用于编辑某些内容,
defaultChecked
-只是推动用户在新表单中保留选中的选项。