JavaScript高级程序设计 第五章 — 引用类型
2015-09-18 22:30
816 查看
JavaScript高级程序设计 第五章 引用类型
Object类型
Array类型
转换方法
join方法
栈方法 push方法 和 pop方法
队列方法 shift方法 和 push方法
重排序方法 reverse方法 和 sort方法
操作方法 concat方法 sort方法 和 splice方法
引用类型也被称为对象定义,是一类对象所具有的属性和方法。
对象是某个特定引用类型的实例。新对象用 new 操作符后跟一个构建函数。
另一种方式 是对象字面量:
一般来说,访问对象属性时使用的是点表示法,JavaScript还可以用方括号表示法来访问对象属性:
数组字面量表示法:
数组的最后一项索引始终是 length-1,因此下个新项的位置就是 length。
数组的 toString()方法 返回由数组中每个值的字符串形式拼接成的一个以逗号分隔的字符串。
数组的 valueOf()方法 返回的还是数组
数组继承的 toLocalString()、toString()、valueOf()方法,在默认情况下都会以逗号分隔的字符串形式返回数组项。
push()方法 可以接收任意数量的参数,把他们添加到末尾,并返回修改后数组的长度。
pop()方法 从数组末尾移除最后一项,减少length值,并返回移除项。
shift()方法 能够移除数组中第一项并返回该项,同时数组长度减1。
unshift()方法 与shift()方法 相反,能再数组前端添加任意个项,并返回新数组长度。
sort()方法 按升序排列数组项 —-最小的值位于最前面
sort() 可以接收一个比较函数作为参考,以便我们制定哪个值位于哪个值前面。
比较函数结构两个参数,如果第一个参数应该位于第二个之前返回一个负数,如果两个参数相等,返回零,如果第一个参数应该位于第二个之后则返回正数。
比较函数:
以下是一个简单的比较函数:
slice()方法 能够基于当前数组中的一个或多个项创建一个数组,如果有两个参数,该方法返回起始和结束位置之间的项 —- 但不包括结束位置项,并且不会影响原始数组。
Object类型
Array类型
转换方法
join方法
栈方法 push方法 和 pop方法
队列方法 shift方法 和 push方法
重排序方法 reverse方法 和 sort方法
操作方法 concat方法 sort方法 和 splice方法
JavaScript高级程序设计 第五章 — 引用类型
引用类型的值(对象)是引用类型的一个实例。引用类型是一种数据结构,用于将数据和功能组织在一起,也称类。引用类型也被称为对象定义,是一类对象所具有的属性和方法。
对象是某个特定引用类型的实例。新对象用 new 操作符后跟一个构建函数。
Object类型
new操作符后跟构建函数:var person = new Object(); person.name = "Nicholas"; person.age = 29 ;
另一种方式 是对象字面量:
var person = { name : "Nicholas" ; age : 29 ; }
一般来说,访问对象属性时使用的是点表示法,JavaScript还可以用方括号表示法来访问对象属性:
alert(person.name); //"Nicholas" alert(person["name"]); //"Nicholas"
Array类型
创建数组的方式:var colors = new Array(); var colors = new Array(20); //创建length值为20的数组
数组字面量表示法:
var colors = ["red","blue","green"]; //多个数组项用逗号隔开
数组的最后一项索引始终是 length-1,因此下个新项的位置就是 length。
转换方法
所有对象都具有 toLocalString()、toString()、valueOf()方法数组的 toString()方法 返回由数组中每个值的字符串形式拼接成的一个以逗号分隔的字符串。
数组的 valueOf()方法 返回的还是数组
var colors = ["red","blue","green"]; alert(colors.toString()); //red,blue,green alert(colors.valueOf()); //red,blue,green alert(colors); //red,blue,green
数组继承的 toLocalString()、toString()、valueOf()方法,在默认情况下都会以逗号分隔的字符串形式返回数组项。
join()方法
join()方法 ,可以使用不同的分隔符来构建分隔数组的字符串:var colors = ["red","green","blue"]; alert(colors.join(",")); // red,green,blue alert(colors.join("||")); // red||green||blue
栈方法 — push()方法 和 pop()方法
ECMAScript为数组也提供了push()和pop()方法,类似于栈的行为(一种后进先出的数据结构)。push()方法 可以接收任意数量的参数,把他们添加到末尾,并返回修改后数组的长度。
pop()方法 从数组末尾移除最后一项,减少length值,并返回移除项。
var colors = new Array(); //创建数组 var count = colors.push("red","green"); //推入两项 alert(count); //2 count = colors.push("black"); //推入另一项 alert(count); //3 var item = colors.pop(); //取得最后一项 alert(item); //"black" alert(colors.length); //2
队列方法 — shift()方法 和 push()方法
栈数据结构的访问规则是LIFO(后进先出),队列数据结构是FIFO(先进先出)shift()方法 能够移除数组中第一项并返回该项,同时数组长度减1。
var colors = new Array(); //创建数组 var count = colors.push("red","green"); //推入两项 alert(count); //2 count = colors.push("black"); //推入另一项 alert(count); //3 var item = colors.shift(); //取得第一项 alert(item); //"red" alert(colors.length); //2
unshift()方法 与shift()方法 相反,能再数组前端添加任意个项,并返回新数组长度。
var colors = new A 4000 rray(); //创建数组 var count = colors.push("red","green"); //推入两项 alert(count); //2 count = colors.unshift("black"); //推入另一项 alert(count); //3 var item = colors.pop(); //取得最后一项 alert(item); //"green" alert(colors.length); //2
重排序方法 — reverse()方法 和 sort()方法
reverse()方法 反转数组项的顺序var values = [1,2,3,4,5]; value.reverse(); alert(values); //5,4,3,2,1
sort()方法 按升序排列数组项 —-最小的值位于最前面
sort() 可以接收一个比较函数作为参考,以便我们制定哪个值位于哪个值前面。
比较函数结构两个参数,如果第一个参数应该位于第二个之前返回一个负数,如果两个参数相等,返回零,如果第一个参数应该位于第二个之后则返回正数。
比较函数:
var values = [0,1,5,10,15]; function compare(value1,value2){ if(value1 < value2){ return -1 ; } else if (value1 > value2){ return 1; } } values.sort(compare); alert(values); //0,1,5,10,15
以下是一个简单的比较函数:
function compare(value1,value2){ return value2 - value1 ; }
操作方法 — concat()方法 sort()方法 和 splice()方法
concat()方法 可以基于所有项创建一个新数组:var colors = ["red","green","blue"]; var colors2 = colors.concat("yellow",["black","brown"]); alert(colors); //red,green,blue alert(colors2); //red,green,blue,yellow,black,brown
slice()方法 能够基于当前数组中的一个或多个项创建一个数组,如果有两个参数,该方法返回起始和结束位置之间的项 —- 但不包括结束位置项,并且不会影响原始数组。
var colors = ["red","green","blue","yellow","purple"]; var colors2 = colors.slice(1); var color3 = colors.slice(1,4); alert(color2); //green,blue,yellow,purple alert(color3); //green,blue,yellow
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets
- javascript asp教程第十二课---session对象