如何测试变量在JavaScript中是否具有值?

jus*_*ime 7 javascript

我想测试一个JavaScript变量是否有值.

var splitarr =  mystring.split( " " );
aparam = splitarr [0]
anotherparam = splitarr [1]
//.... etc
Run Code Online (Sandbox Code Playgroud)

但是,字符串可能没有足够的条目,所以稍后我想测试它.

if ( anotherparm /* contains a value */ )
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

Jam*_*ran 14

 if (typeof anotherparm == "undefined")
Run Code Online (Sandbox Code Playgroud)


Jas*_*n S 2

一般来说,这是一个灰色地带……“有价值”是什么意思?值nullundefined是可以分配给变量的合法值...

String 函数split()始终返回一个数组,因此请使用length结果的属性来确定存在哪些索引。超出范围的索引将具有值undefined

但从技术上讲(在 的上下文之外String.split())你可以这样做:

js>z = ['a','b','c',undefined,null,1,2,3]
a,b,c,,,1,2,3
js>typeof z[3]
undefined
js>z[3] === undefined
true
js>z[3] === null
false
js>typeof z[4]
object
js>z[4] === undefined
false
js>z[4] === null
true
Run Code Online (Sandbox Code Playgroud)