Kir*_*ran 7 javascript undefined
在我开始学习时,Java脚本有许多虚假的值.我有一个程序从服务获取值并加载到这样的数组:
function loadNames() {
Global.names = // what should I use here? undefined, null, "", 0, {} or anything else
var lnames = getLNames(); // this is doing some magic
if ( lnames.length !== 0 ) {
Global.names = new Array();
for ( var i = 0; i < lnames.length; ++i)
Global.names[i] = lnames[i];
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道重置Global.names的正确方法.这里最合适的是什么?在代码中我只想检查一下if ( Global.names )
PS:我不能将返回值带入Global.names,因为返回的对象稍后会被销毁.因此,我需要做一个深层复制
谢谢
kar*_*ins 12
取自JavaScript:好的部分:
"if语句根据表达式的值改变程序的流程.如果表达式是真的,则执行then块.这是假值:
假
空值
未定义
空字符串''
数字0
数字NaN"
所以基本上如果你将var设置为这些值中的任何一个,你就能够做一个if(var){...}
我认为你最好将它初始化为一个数组并测试为
if ( Global.names.length )
Run Code Online (Sandbox Code Playgroud)
此外,如果您只是将字符串存储在数组中,则可以将函数简化为
function loadNames() {
Global.names = getLNames().concat();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13295 次 |
| 最近记录: |