Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24613
  • 博文数量: 25
  • 博客积分: 1010
  • 博客等级: 少尉
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-22 20:04
文章分类

全部博文(25)

文章存档

2011年(1)

2009年(24)

我的朋友
最近访客

分类: Java

2009-08-14 17:25:10

二、JavaScript数据类型

1、数据类型

undefined : 未定义

空值:由关键字null代表(null是空对象----- 没有任何属性和方法)

number  : 数字(其中包括整型数和浮点型数

boolean : 布尔值(即逻辑值,trueflase

string  : 字符串(由单个或多个文本字符组成

function: 函数

object  : 对象

2undefined类型

1)在IE5及以下版本中

除了直接赋值和typeof()之外,其它任何对undefined的操作都将导致异常。如果需要知道一个变量是否是undefined,只能采用typeof()的方法:

2)在IE5.5及以上版本中,undefined是一个已实现的系统保留字

因此可以用undefined来比较和运算。检测一个值是否是undefined的更简单方法可以是:

 

3number类型

1)两个常值定义

JavaScript中总是处理浮点数,因此它没有象Delphi中的MaxInt这样的常量,反而是有这

样两个常值定义:

l         Number.MAX_VALUE  : 返回 JScript 能表达的最大的数。约等于 1.79E+308

l        Number.MIN_VALUE  : 返回 JScript 最接近0的数。约等于 2.22E-308

 

 

2)与number类型相关的全局方法

l         isFinite()   : 如果值是NaN/正无穷/负无穷,返回false,否则返回true

l        parseFloat() : 从字符串(的前缀部分)取一个浮点数。不成功则返回NaN

4boolean类型

5string类型

小知识

1js的类型检查

    其实会js的人都知道,js是宽松类型的动态语言,我们可以不用显式的定义变量的数据类型。但实际上,我们使用已定义的变量时,总是会适时的检查它的类型是否符合我们的需要,以做出不同的行为。

    js本身提供了typeof()函数来检查变量的类型,但它的返回值不外乎6种:

l         "number,"

l         "string,"

l         "boolean,"

l         "object,"

l         "function,"

l         "undefined."

下面是一些测试代码的输出结果

var a = new Date();

print(typeof(a));

输出: object

 

var b;

print(typeof(b));

输出: undefined

 

print(typeof(1.12));

输出: number

 

print(typeof(88));

输出: number

 

print(typeof(a==b));

输出: boolean

 

print(typeof("hello"));

输出: string

2)检查变量是属于哪种具体的变量类型,而不仅仅是得到object这个结果

我们可以这样写代码:

var a = new Date();

print(a.constructor == Date)

输出: true   

    constructor是所有prototype对象所共有的属性。上面这种方式是通过比较此对象的构造函数是否与给定的对象相等来进行对象类型检查的,此种方式我们要事先知道可能的对象类型。所以如果要检查变量可能属于哪种对象类型,要采用if-else这样的语句结构:

if(a.constructor == Array)

    print("a is Array");

else if(a.constructor == String)

    print("a is String");

else if (a.constructor == Date)

    print("a is Date");

 

阅读(374) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~