<!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) 出来结果不一致。
/*
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)//执行
}
如果info是0,则!info是1,如果info是非零的数,则!info是0
undefined是未定义的意思
null是空,没有内容,未赋值的意思