将变量的值更改为可能已经存在的值

2024-02-11

如果我想给一个变量一个它很有可能已经拥有的值,我应该检查它是否这样做并避免不必要的覆盖,还是应该这样做并避免检查?所以(这里使用 JavaScript),哪个选项对处理器来说工作量更少:

foo = "foo"; //foo might already be set to "foo"

or

if(foo != "foo") {
    foo = "foo";
}

这里需要注意两件事:首先,虽然我目前正在使用 JavaScript,但如果其他语言有所不同,我会对它们的答案感兴趣;其次,我很可能会使用比“foo”长得多的字符串。


简单的分配总是比条件检查的成本要低。话虽如此,这实在是太微观了,根本不重要。

如果情况有点复杂,例如您只想将某些内容分配给foo如果它还没有值,您可以使用逻辑或 (||) 要做到这一点:

var foo;
// ... some code that may initialize foo ...
foo = foo || 'someDefault';

请注意,这也会默认foo如果它有任何“错误”值:0, 空字符串,NaN, null, undefined, or false。如果这些值可以接受,那么您需要使用typeof用第三级语句代替:

var foo;
// ... some code that may initialize foo ...
foo = typeof foo === 'undefined' ? 'someDefault' || foo;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将变量的值更改为可能已经存在的值 的相关文章

随机推荐