类型的判断

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>

posted on 2008-10-10 12:08  精思入神  阅读(713)  评论(0编辑  收藏  举报