<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> JS类型 测试 并验证</title>
</head>
<body>
<form method="post" action="">
<input type="text" name="username" value="" id="username">
</form>
</body>
</html>
<script type="text/javascript">
<!--
var time1 = 0;
if(time1 == "") {
alert("true");
}
/**
* 当表单中没有username2时,得到的值 为null
* 当存在username2时,得到的值为"" 或者 为表单中的value属性的值
*/
var time2 = document.getElementById("username2");
if(time2 == null) {
alert("true");
}
// 且记,此处undefined必须用引用括起来,因为函数返回类型是字符串类型的
if(typeof(IsTime)=="undefined"){
alert("判断类型是否被定义,未被定义!");
}
if(typeof(IsTime) == undefined ){
alert("判断类型是否被定义,未被定义!");
}
/**
* == 在JS中是比较值
* === 在JS中不光比较值,还比较类型
*/
alert("123"==123); // alert true
alert("0123" == 0123); // alert false
alert("123" === 123); // alert false
/**
*undefined , null , "" , 0 这四个值转换为逻辑值时是false.
*其他所有东西转换逻辑值都是true,
* 下面四个方法都 alert true
*/
if("") {
} else {
alert("\"\" == false");
}
if(0) {
} else {
alert("0 == false");
}
if(null) {
} else {
alert("null == false");
}
if(undefined){
} else {
alert("undefined == false");
}
//-->
</script>
总结: js是弱类型语言,使用方便的同时,对细节的要求更加严格,使用时要小心谨慎!