亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

null 和undefined和非的區別

<!DOCTYPE?HTML>
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>?鼠標經過事件?</title>
<script?type="text/javascript">
????function?message(){
????????????var?info=document.getElementById("psw").value;
????????????????????if(!info){
??????????????????????????confirm("請輸入密碼后,再單擊確定!");????????
????????????????????}????????
????????????????????else{?confirm("yes");?}
???????}
</script>
</head>
<body>
????<form>
????????密碼:<input?name="password"?type="password"?id="psw"?>
????????<input?name="確定"?type="button"?value="確定"?onmouseover="message()"/>
????</form>
?</body>
?</html>

為什么我在if(!info)和if(info=="undefined")和if(info==null) 出來結果不一致。

正在回答

2 回答

/*

1:數據類型層面

undefined是一個undefined數據類型

null:它是object數據類型

2:內存分配層面

undefined:如果是一個變量沒有賦值操作就是undefined;

null:代表的是對象默認值

3:運算中

*/

var n1 = 1 + undefined;

alert(n1);//NaN

var n2 = 1 + null;

alert(n2);//1

var n3;

alert(n3)//undefined

if(n3 == null){

alert(33)//執行

}


0 回復 有任何疑惑可以回復我~

如果info是0,則!info是1,如果info是非零的數,則!info是0

undefined是未定義的意思

null是空,沒有內容,未賦值的意思

0 回復 有任何疑惑可以回復我~
#1

HYDMonster 提問者

為啥在上面的代碼if(info==null)是有問題的
2018-11-21 回復 有任何疑惑可以回復我~
#2

酷睿N核 回復 HYDMonster 提問者

因為未輸入密碼時,document.getElementById("password").value 獲取的是一個空字符串,而不是 null 。
2019-02-18 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468972    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

null 和undefined和非的區別

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號