JavaScript中的null与undefined,“==”与“===”
undefined,表示一个未知状态
1.声明了但是没有初始化的该变量,变量的值是一个未知状态(undefined)。
2.方法没有明确返回值时,返回值是一个undefined
3.当对未声明的变量应用typeof运算符时,显示为undefined
null表示尚未存在的对象,null是一个有特殊意义的值。可以为变量赋值为null,此时变量的值为“已知状态”(不是undefined),即null。
undefined==null //结果为true,但含义不同。
undefined===null //结果为false,先判断类型是否一致,然后判断值。
//判断变量是否可用
if(type(x)!=’undefined’ &&x!=null)
JavaScript中判断已声明变量、参数是否初始化(可用)的方法:
假设已有变量x:
if (typeof(x) !=‘undefined’ && x!=null) { alert("可用"); }
//或者用下面的方法
if(x) { alert(‘变量可用!’); } else { alert(‘变量不可用!’); }
当x声明但没有赋值,或x为null,或x为0时,对于if(x),返回false,都表示不可用!
推荐用最后一种方法。但如果x有可能没有声明,则只能用typeof判断(否则会报错)。
typeof(x)返回值为一个字符串’undefined’
JavaScript中字符串同样需要转义符 ’ \ ’,与C#一样。
想在页面输出:c:\windows\microsoft\vs.txt,这句话,需要这样写:alert(‘c:\\windows\\microsoft\\vs.txt’);不能用@,@只在C#中有效。在用正则表达式的时候也会遇到转义符问题。
alert('c:\\windows\\microsoft\\vs.txt');
alert('you\'re');
alert('姓名:Bob\r\n性别:男');
三元运算符:
var stuName = 'zl';
var stuGender = (stuName == 'wdz') ? '男' : '女';
alert(stuGender);//女
==与===的区别:
==(等号),当且仅当两个运算符相等时返回true。
!=(不等号)
示例代码:
var v1 = 100;
var v2 = "100";
if (v1 == v2) {
alert("相等");
} else {
alert("不相等");
}
//以上代码输出结果为“相等”。
===(全等号),只有当无需类型转换时就相等的时候才返回true。
!==(非全等号)
示例代码:
var v1 = 100;
var v2 = "100";
if (v1 === v2) {
alert("相等");
} else {
alert("不相等");
}
//以上代码输出结果为“不相等相等”。