javascript引用类型

原创 3332581689 随笔 js基础 199阅读 2017-06-09 11:05:01 举报

我一直觉得学习应该首先从大的框架去把握,再逐渐细分,这样有利于记忆,系统的掌握,对于javascript的基础部分学习我觉得可以分为两部分:一是基础语法,就是变量、操作数、操作符、控制语句和函数 ;二是引用类型,第一部分前面写过,今天谈谈第二部分:

一 引用类型概念:

对象是引用类型的一个实例,其实引用类型她是一种数据结构,可以理解为一个类 ,js里没有类的概念,但她和类相似。
比如人类,就是有鼻子、眼睛、等特点(属性),可以直立行走、可以说话等动作(方法)。
而对象就是这一种类型里面的一个实例,比如人类这一个类,他包括地球上所有的人,而雷锋这个人就是这所有人中的一个实例;因此,对象是特指的一类中的一员。
js中有很多这样的类型,每一个类型都有他特殊的功能,利用这些功能,我们可以实现很多复杂的逻辑。
在js里,已经内置了很多这样的引用类型,而每一种类型都有自己特有的属性和方法;我们可以直接将这些引用类型实例化成对象,然后直接使用他们的属性方法,完成功能,非常方便。
当然,我们也可以使用object自己创建一个类型,然后赋予属性和方法.

二 引用类型分类:

Object类型
Array类型
Date类型
RegExp类型
Function类型
基本包装类型
单体内置对象

1 Object类型
object是最基础的引用类型,,大多数的引用类型值都是object类型的实例,通过object可以实例化一个自定义对象,然后为对象赋予属性和方法,满足代码功能。
var person = new Object();
person.name = "赵云";
person.age = 19;
也可以直接
var person = {
name:"赵云",
age:19
};
以上是自定义对象的两种方法,当然在实际工作中使用要复杂一些,伪了满足需求,一般会运用到工厂模式,复合模式等方法来创建对象。

2 Array类型
Array-表示数组,可以使用它来创建一个数组,事实上数组就是一组数据,那么在数据的传输过程中,通常我们都是传输一组数据,所有大多数时候会用到数组,所有数组在编程过程中占有非常重要的地位。
创建数组的方法是
var arr = new Array();
Array()是一个函数,后面的括号里面可以传值;
也可以直接使用一对中括号来创建
var arr = ["red","blue","green"];
访问数组的方法
arr[0]表示访问第一个数red,arr[1]表示访问第二个数blue,以此类推;
arr对象创建完成以后,arr就拥有数组内置的属性和方法了,比如length,就表示数组的长度,可以用arr.length来访问。
除了属性,arr还会有push() pop()等方法来操作数组,来为数组添加成员,删除成员,修改成员等操作。
数组的方法有很多,需要花时间精细的学习,这里是从宏观上把握整个大的知识点,就不过多描述。

3 Date类型
Date类型是用来保存日期的,我们可以用Data类型来实例化一个事件对象,用来完成有关时间的需求。
跟上面一样,使用new来创建一个时间对象
var time = new Date();
Date类型在js编程中也比较重要,在代码编写中也很常见,将创建的时间对象进行各种拼接成我们想要的格式,显示在我们的网站中。

4 RegExp类型
RegExp类型用来支持正则表达式,正则表达式用来匹配自定义的格式,比如在会员系统中,注册会员的用户名必须是字母、数字的组合,那么怎么来限定是字母和数字而不是其他符号,那就用到正则表达式了。
创建一个正则表达式使用一下语法:
var expression = / pattern / flags;
其中 pattern表示正则表达式,可以包含字符类、限定符、分组、向前查找以及反向引用。每个正则表达式可以带有一个或多个标志(flags),用以标明正则表达式的行为,支持3个标志:
g 全局模式,应用于所有字符串
i 表示不区分大小写
m 多行模式,就是第一行找完还会找下一行 所有一个正则表达式由表达式和标志组成,当然,他是一个对象,因此也会有自己的属性和方法,在学习过程中需要精细的学习。

5 Function类型
其实每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法,函数通常是使用函数声明语法来定义的:
function sum(a,b){
alert(a+b);
}
每个函数都包含两个属性:length和prototype,length表示函数接收的命名参数的个数;prototype属性是不可枚举的,遍历无法发现,主要在继承和自定义引用类型种使用
每个函数都包含两个方法:apply()和call(),这两个方法的用途都是在特定的作用域中调用函数。
函数贯穿于整个开发中,用途很广泛,只有在不断积累中逐渐学习。

6 基本包装类型
为了操作基本类型值,提供了3个特殊的引用类型:Boolean、Number、String。这些类型与其他类型相似,同时也具备各自的基本类型相应的特殊行为。
创建对象方法如下:
var boll = new Boolean();
var str = new String();
var nub = new Number();
当然,括号里面可以传相应类型的值
var boll = new Boolean(false);
var str = new String("hi world");
var nub = new Number(9);
当然这几种基本包装类型也都有自己独有的属性和方法,需要好好把握。

7 单体内置对象
单体内置对象主要包括Global对象和Math对象,可以直接使用其属性和方法。
很多时候,我们直接使用一个方法来实现想要的功能,很可能它就是我们的Global对象的方法,Global的方法有很多,比如:isNaN(),isFinite(),parseInt(),eval()等都是Global对象的方法.

Math对象为数学公式和信息提供了一个公共的位置,她提供的计算功能运算速度很快,还提供了辅助完成这些计算的属性和方法。

Math对象的常用方法比如:
min() 取最小
max() 取最大
ceil() 向上舍入
floor() 向下舍入
round() 四舍五入
random() 取随机数

关于引用类型基本包含这些,不过每一种类型都需要花大量时间去研究,只有研究深入,融会贯通以后才能在编写过程中事半功倍。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复