js型別測試學習

maqianmaqian發表於2010-11-15
<!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是弱型別語言,使用方便的同時,對細節的要求更加嚴格,使用時要小心謹慎!

相關文章