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("不相等");
}
//以上代码输出结果为“不相等相等”。