第五章 引用类型
本章主要介绍了JavaScript中常用的引用类型。
1、Object类型
Object的实例不具备多少功能,但对于应用程序中存储和传输数据而言,他们确实是非常理想的选择。
创建对象的两种方法:构造函数、对象字面量方法
对象字面量方法:var person = {
"name" : "Nicolas",
"age" : 29
} //再给函数传递参数的时候,对象字面量的方法可以用来封装多个可选参数
2、Array类型
ECMAScript数组是可以动态调整的,随数据的添加可以自动扩容。
对数组操作的方法:
a:转换为字符串:tostring()、tolocalstring()、valueOf() 默认以逗号‘,’分隔
join()方法可设置不同的分隔符, 如:var color = ["red","bule"]; alert(color.join(||)); //输出为red||bule
b:栈方法:push() pop() ,在数组的末尾插入和删除数据
c:队列方法:shift() : 一出数组第一项并返回第一项; push():在数组末尾插入数据; 使用unshift()和pop()可以从相反的方向模拟队列
d:排序: sort()方法,但对数值进行正确的排序,需要自己写比较函数。
e:插入删除方法:slice()、splice()
f:访问数组位置的方法:indeOf()、lastIndexOf() 查找是使用全等符,引用数组查找要注意
g:迭代方法: erery()、filter()、forEach()、map()、some()
3、Date类型:时间类型,封装的有关时间日期的操作。
4、RegExp类型:EMCAScript用来支持正则表达式的类型。
5、Function类型:
a、函数没有重载;
b、函数名本身是一个变量,函数可以作为值来使用,也可以从一个函数中返回另一个函数(返回的函数可以是定义的函数内定义的函数,即函数内部可以再定义函数)
c、函数内部属性:arguments:一个类数组对象,存函数的参数; this:引用的是函数据以执行的环境对象; callee属性:一个指针,指向拥有这个arguments对象的函数;prototype属性保存所有实例方法的真正所在。
d、函数的方法:apply() 、call() 可以扩充函数赖以运行的作用域,用这两个方法扩充作用域是对象不需要与方法有任何耦合关系。
6、基本包装类型
ECMAScript提供的三个基本数据类型的包装类型:Boolean、Number和String,方便了对基本数据类型的操作。
需注意的问题:尽量不要显示地使用包装类型(比如用New去创建)
如:var falseObject = new Boolean(false); var result = falseObject && true; //结果为false,因为布尔表达式中所有对象被转换为了true
var falseValue = false;
falseObject instanceof Boolean; //结果为true
falseValue instanceof Boolean; //结果为false
7、单体内置对象
ECMAScript提供的不依赖宿主环境的对象,在ECMAScript程序执行前就已经存在,如Object、Array和String
ECMA-262还定义了两个单体内置对象:Global和Math
Global类型
Global是一个终极的“兜底对象”,所有对象的属性和方法最终都是它的方法,isNaN()、parseInt()等是它的方法。(在Web浏览器中都是将这个全局对象作为window对象的一部分加以实现,因此在全局作用域中声明的所有变量和函数就都成为了window对象的属性。)
它还包含:URI编码方法(如encodeURIComponent()、decodeURIComponent())、eval()方法:它接受一个参数,即要执行的JavaScript字符串。
Math类型:封装了数学计算的一些方法。
比如找到数组中的最大或最小值可以如下:
var values = [1,2,3,4,5];
var max = Math.max.apply(Math,values);
原文:https://www.cnblogs.com/xiaoxb17/p/11869809.html