1. 程式人生 > >HTML中的文字框的null和“”的區別

HTML中的文字框的null和“”的區別

   之前我也一直被這個問題所疑惑,後來我懂了,來看看我理解的對不對:

假設定義一個字串:String str;

str == null,指空物件,即空指標,沒有分配記憶體;

而str ==“”,指空字串,是個字串但是裡面什麼度沒有,這是有分配記憶體的。

   光說不練假把式!先上程式碼:js

<script type="text/javascript">
 var text = document.getElementById("text").value;
  	//驗證方法1:
  	console.log("text==\"\"是真的嗎?"+(text==""));
  	console.log("text==null是真的嗎?"+(text==null));
  	
  	/* //驗證方法2:下面這段程式碼是用alert()驗證,文字框不為空時返回true
  	if (text!="") {
  		alert(text!="");
	}else{
		alert(text!="");
	} */
</script>

 下面這個是HTML:

<body>
  	 <p id="title">null和“”的區別:</p>
	 <form action="http://www.w3school.com.cn/" method="post">
		<input type="text" id="text" name="text" />
		<input type="button" id="button" value="驗證是否非空" onclick="check()"/>
	</form>
  </body>

    在js裡面我是用console.log()f方法方法測試的,該方法輸出的資料可在按F12後的控制檯那裡看到,方便分析。(當然你也可以用alert()方法驗證。)

    測試瀏覽器:谷歌瀏覽器。

    測試:1.不填任何東西直接驗證:

   測試:2.填“666”驗證:(下面的為新的內容)

   由此我們可知:當HTML的文字框沒有填寫東西時,它是個空串,驗證非空時要用  if( str=="")  驗證,而不是用if( str == null) 驗證。