Javascript 基础篇 操作符

Javascript 基础 操作符

3.4.1 typeof操作符

因为ECMAScript是松散类型的,因此需要一种手段检测给定变量的数据类型——typeof因此而生.

对一个值使用了typeof操作符可能返回下列某个字符串

  •  "undefined"——如果这个值未定义
  • "boolean"——如果这个值是布尔值
  • "string"——如果这个值是字符串
  • "number"——如果这个值是数字
  • "object"——如果这个值是对象或null
  • "function"——如果这个值是函数

例子:

var message = "some string";
alert(typeof(message)); // "string"
alert(typeof message); // "string"
alert(typeof(95))  // "number"

typeof操作符的操作数可以是变量(message),也可以是数值字面量.

从技术角度讲,函数在ECMAScript中是对象,不是一种数据类型,然而,函数也确实有一些特殊的属性,因此通过typeof操作符来区分函数和其他对象是有必要的.

3.4.2 Undefined类型

Undefined类型只有一个值,即特殊的undefined.

一般不存在需要显示化把一个变量设置为undefined值的情况.字面量undefined主要目的在于用于比较,为了正式区分空对象指针未经初始化的变量

var message; //这个变量声名之后默认取得了undefined值

// 下面这个变量并没有声名
// var age

alert(message); // "undefined"
alert(age);  // 产生错误

对于未声名的变量,用typeof检测其数据类型,返回undefined,这样对于未初始化和未声名的返回的都是undefined

var message; //这个变量声名之后默认取得了undefined值

// 下面这个变量并没有声名
// var age

alert(typeof message); // "undefined"
alert(typeof age);  // "undefined"

Jquery源码中,开始就有传一个undefined参数,是为了函数内undefined字面量统一。

3.4.3 Null类型

NUll类型第二个只有一个值的数据类型,这个特殊的值就是null.null是一个空对象指针,typeof检测null值时会返回“object”类型。主要用于检测对象

1 var car = null;
2 alert(typeof car); //"object"
3 
4 //如果定义变量用来保存对象,最好初始化未null,而非其他类型,这样只要检查null值就可知道变量是否已经保存一个对象的引用了.
5 
6 if (car != null){
7    //即对象存在,对car对象执行某些操作
8 }

 

3.4.4 Boolean类型

两个字面值:true和false

Boolean()方法可以将各种数据类型转换为boolean类型,

if(变量)的情况下,会对变量调用Boolean函数.

数据类型 转换为true的值 转换未false的值
Boolean true false
String   任何非空字符串 “”(空字符串)
Number 任何非零数字值(包括无穷大) 0和NaN
Object   任何对象 null
Undefined n/a undefined

 前面这几个为比较重要的内容,后面的内容暂时不介绍了。

posted @ 2012-06-15 00:54  zzu-han  阅读(361)  评论(0编辑  收藏  举报