ECMAScript学习笔记(三)
栏目: JavaScript · 发布时间: 6年前
内容简介:JavaScript高级程序设计的第五章。讲解了跟对象相关的东西。创建Object实例的方式有两种,第一种是使用另一种方式是
引用类型
JavaScript高级程序设计的第五章。讲解了跟对象相关的东西。
引用类型的值,是引用类型的一个实例(对象)
Object类型
创建Object实例的方式有两种,第一种是使用 new操作符
:
var person = new Object(); person.name = "Nicholas"; person.age = 29;
另一种方式是 对象字面量表示法
:
var person = { name: "Nicholas", age: 29 } var person = {} person.name = "Nicholas"; person.age = 29;
Array类型
ECMAScript的数组,可以为每一项保存任何类型的数据。且数组大小是可以动态调整的。
创建数组的方式1:
var colors = new Array(); var colors = new Array(20); var colors = new Array("red", "blue", "green");
创建数组的方式2:
var colors = ["red", "blue", "green"]; var colors = [, , , ]; var values = [1, 2, ];
Array的length不是只读的。通过设置该属性,可以从数组的末尾移除项或者添加新项。
另外,如果将一个值放在超出当前数组大小的位置上时,数组就会中心计算length
var colors = ["red", "blue", "green"]; colors[99] = "black";
检测数组
确定一个对象是不是数组:
Array.isArray(value)
转换方法
数组集成的toLocalString()、toString()、valueOf()方法,默认用逗号分隔。我们可以使用join()方法,使用不同的分隔符来构建字符串。
var colors = ["red", "blue", "green"]; colors.join("|");
栈方法
**1.push(), pop():**入栈和出栈
push()方法可以接收任意数量的参数,将他们逐一添加到数组末尾,然后返回最终的数组长度。
而pop()方法,会从数组末尾移除最后一项,并返回移除的项。
var colors = new Array(); var count = colors.push("red", "green"); var item = colors.pop();
队列方法
1.shift()方法能够移除数组的第一个项,并返回被移除的项
于是shift()和push()结合,就可以实现类似于队列一样的方法了。
2.unshift()方法能够在数组的前端添加任何项,并返回最终的数组长度。
于是unshift()和pop()结合,就可以实现类似于队列的方法了。
重 排序 方法
数组中存在:reverse()和sort()方法,能够用来排序。
1.sort()排序方法,会调用每个数组项的toString()方法,然后再进行排序。
2.sort()方法可以接收一个比较函数作为参数:
function compare(value1, value2) { if (value1 < value2) { return -1; } else if (value1 > value2) { return 1; } else { return 0; } }
操作方法
1.concat()方法可以基于当前数组的所有项,创建一个新数组,然后将接收到的参数添加到这个数组的末尾。
var colors = ["red", "green", "blue"]; var colors2 = colors.concat("yellow", ["black", "brown"]);
2.slice()方法能够基于当前数组中的一或多项创建一个新数组。
var colors = ["red", "green", "blue"]; var colors2 = colors.slice(1); var colors3 = colors.slice(1, 2);
3.splice()方法:
1)删除:能够删除任意数量的项,只需要指定要删除的第一项和要删除的项数。
2)插入:可以向指定位置插入任意数量的项,只需要提供:起始位置,0(要删除的项数),要插入的项。
3)替换:略
位置方法
ECMAScript 5提供了indexOf()和lastIndexOf()方法。
这两个方法可以传入两个参数:要查找的项,查找起点。
迭代方法
迭代方法接收:每一项上运行的函数,运行该函数的作用域对象
1.every()方法:对数组的每一项运行给定函数,若该数组对每一项都返回true,则返回true
2.filter()方法:对数组的每一项运行给定函数,返回该函数会返回true的项组成的数组。
3.forEach()方法:对数组的每一项运行给定函数,这个方法没有返回值。
4.map()方法:对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组。
5.some()方法:对数组的每一项运行给定函数,如果该函数对任意一项返回true,则返回ture。
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]; var everyResult = numbers.every(function(item, index, array) { return (item > 2); })
缩小方法
reduce()和refuceRight()方法,会迭代数组的所有项,然后构建一个最终返回的值。
这两个方法接收两个参数:一个在每一项上调用的函数,缩小基础的初始值。
var values = [1, 2, 3, 4, 5]; var sum = values.reduce(function(prev, cur, index, array) { return prev + cur; }); alert(sum); // 15
以上所述就是小编给大家介绍的《ECMAScript学习笔记(三)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 【每日笔记】【Go学习笔记】2019-01-04 Codis笔记
- 【每日笔记】【Go学习笔记】2019-01-02 Codis笔记
- 【每日笔记】【Go学习笔记】2019-01-07 Codis笔记
- Golang学习笔记-调度器学习
- Vue学习笔记(二)------axios学习
- 算法/NLP/深度学习/机器学习面试笔记
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。