类型的判断
1. 没有声明的, 其类型为 undefined
alert(typeof myvar); ==> undefined
2. 声明了但没有赋值, 其类型为 undefined:
var myvar;
alert(typeof myvar); ==> undefined
3. 赋值为 null ,其类型为 object
var myvar=null;
alert(typeof myvar); ==> object
4. 赋值为"" , 其类型为 string
var myvar="";
alert(typeof myvar); ==> string
5. 赋值为 0, 其类型为 number
var myvar=0;
alert(typeof myvar); ==> number
6.赋值为 true 或 false, 其类型为 boolean
var myvar = true;
alert(typeof myvar); ==> boolean;
判断是否为空
<script type="text/javascript">
// 此例不能运行, 因为 myxx 不存在,属于undefined类型, 但是它连名字都没有,不能用于参数传递,所以不能使用 IsEmpty 函数
// alert("无定义="+(IsEmpty(myxx)?"Empty":"Not Empty"));
// 下面的例子展示了一个函数 IsEmpty, 它将空格、空字符串、0、false、null 这些无意义的值都解释为Empty,返回 true
var mydata;
alert("无赋值="+(IsEmpty(mydata)?"Empty":"Not Empty"));
var mdata0=" ";
alert("空字符="+(IsEmpty(mdata0)?"Empty":"Not Empty"));
var mdata1=" ";
alert("空格="+(IsEmpty(mdata1)?"Empty":"Not Empty"));
var mdata2=null;
alert("null="+(IsEmpty(mdata2)?"Empty":"Not Empty"));
var mdata3=0;
alert("0="+(IsEmpty(mdata3)?"Empty":"Not Empty"));
var mydata4=false;
alert("false="+(IsEmpty(mydata4)?"Empty":"Not Empty"));
alert("true="+(IsEmpty(mydata4)?"Not Empty":"Empty"));
function IsEmpty(data)
{
if (typeof data=="undefined") return true;
if (typeof data=="string") return (data);
if (typeof data=="number") return (data==0);
if (typeof data=="object") return (data==null);
if (typeof data=="boolean") return !data;
}
</script>