Javascript数据类型实例的创建

在Javascript中数据类型可分为两种:基本数据类型和复合数据类型。数字、字符串、布尔值、null和undefined属于基本数据类型,对象、数组[1]、函数为复合数据类型。创建一种数据类型的实例,Javascript中大都提供两种方法:构造函数和直接量。

一、数据类型实例的创建

1.数字

a.构造函数
    new Number(value)
b.直接量
    任何一个整型、浮点型、八进制、十六进制的数字即为数字直接量。如26,3.14,0xff,019等

2.字符串

a.构造函数
    new String(value)
b.直接量
    由单引号或双引号括起来的Unicode字符序列。如"1","mzwu"等

3.布尔值

a.构造函数
    new Boolean(value)
b.直接量
    布尔值直接量只有两个:true和false

4.对象

a.构造函数
    new Object()
    new Object(value)
    //value为数字、字符串或布尔值时就分别创建了Number对象、String对象或Boolean对象
b.直接量
    {attribute1:value1,attribute2:value2,attribute3:value3}
    //对象的属性值可以是任意的数据类型,当把函数存储到对象的属性中时就构成了对象的方法

5.数组

a.构造函数
    new Array()
    new Array(size)
    new Array(element0,element1, ...,elementn)
b.直接量
    [element0,element1,...,elementn]
    //数组的元素也可以是任意的数据类型

6.函数

a.构造函数
    new Function(parameter1,parameter2,...,parametern,body)
b.直接量
    function(parameter1,parameter2,...,parametern){body}
    //直接量也可指定一个名字,但只用于内部调用,如:
    //var f=function fact(x) {if(x<=1)return 1;else return x*fact(x-1);};
    //注意:直接量在定义后只需被解析和编译一次,而构造函数在每次调用时都将被解析和编译一次
c.function语句
    function functionname(parameter1,parameter2,...,parametern){body}
    //注意直接量的名字只能用于在内部调用,而语句的名字则可以用于在任意地方调用函数

7.Date对象

a.构造函数
    new Date()
    new Date(milliseconds)
    new Date(datestring)
    new Date(year,month,day,hours,minutes,seconds,ms)

8.Error对象

a.构造函数
    new Error()
    new Error(message)

9.RegExp对象

a.构造函数
    new RegExp(pattern,attributes)  //attributes包含"g","i"和"m"
b.直接量
    /pattern/attributes

二、其他说明

对于这篇文章的题目,我考虑了很久,原本定为"Javascript数据类型的创建",想想不对,数据类型就那么几种,创建的意思是可以造出新的类型,显然不妥,又想改成"Javascript数据类型的表示方法",有点不伦不类,最后改为"Javascript数据类型实例的创建",实例这个称谓一般用在类或对象上,但Javascript的几个基本数据类型(数字、字符串、布尔值)其实也是都是有与之对应的对象类的,依次为Number、String和Boolean,这在使用构造函数时会用到;对于数组和函数,Javascript也都将他们归为对象,因而用实例的创建算是差强人意。

在实际运用过程中,我们通常将创建的实例赋值给一个变量,方便多次调用,这是非常常见的。在这里我要着重说明一下函数,上边我们已经说过:将函数赋值给对象的属性时就变成了对象的方法,我们还可将函数赋值给一个事件,这就为事件定义了一个处理程序,这在客户端脚本中非常有用,也非常的有趣:

document.form1.btn.onclick = function(){alert('hello');};


三、后注

注[1]:在Javascript中把数组归为对象。Javascript认为对象表示的是值的集合,可为成两种,一种对象表示的是已命名的值的无序集合即我们常见的对象,另一种表示的是有编号的值的有序集合即数组。

评论: 1 | 引用: 0 | 查看次数: 3937
发表评论
登录后再发表评论!