HTML中的文本框的null和“”的区别

   之前我也一直被这个问题所疑惑,后来我懂了,来看看我理解的对不对:

假设定义一个字符串:String str;

str == null,指空对象,即空指针,没有分配内存;

而str ==“”,指空字符串,是个字符串但是里面什么度没有,这是有分配内存的。

   光说不练假把式!先上代码:JavaScript

<script type="text/javascript">
 function check(){
 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) 验证。

    

  这位博主好像写的很详细,可以参考下:https://blog.youkuaiyun.com/SR2017/article/details/69717908

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值