- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Javascript
1、数组***
(1)关联数组***
(2)数组API***
1)排序****
(3)二维数组
2、ECMAScript对象
3、包装类型
4、String***
5、正则表达式*****
6、RegExp对象***
7、Math
8、Date
9、Error***
10、Function*****
(1)重载
(2)匿名函数
(3)作用域和作用域链
(4)闭包*****
11、面向对象OOP*****
(1)封装
1)this*****
(2)继承
(3)多态
(4)自定义继承
12、ES5*****
(1)对象的属性
1)访问器属性*****
(2)防篡改
(3)Object.create()
(4)数组API
(5)bind()*****
(6)严格模式
数组***
什么是:What
内存中连续存储多个数据的数据结构,再起一个统一的名字。
为什么:Why
普通的变量只能存储一个数据
程序=数据结构+算法:
数据结构: 数据在内存中的存储结构;
算法: 解决问题的步骤。
好的数据结构可以极大的提高程序的执行效率。
(连续存储的一组数据,可极大的提高操作的速度。)
何时使用:When
只要存储多个连续的数据,都要用数组
如何用:How
A)数组:(索引数组:下标为数字的数组)
创建数组:3种
创建空数组:
数组直接量:var arr = [];
用new:var arr = new Array();
何时用:在创建数组时,还不知道数组中的元素内容时
(2)创建数组时同时初始化数组:
a) 数组直接量:var arr = [值1,值2];
b) 用new:var arr = new Array(值1,值2,.....);
何时用:在创建数组时,已经知道数组的元素内容时
创建n个空元素的数组:
用new:var arr = new Array(n);
数组(引用类型的对象) vs 原始类型的值
原始类型的值:数据直接保存在变量本地的数据类型
number, string, boolean, null, undefined
引用类型的值:数据无法直接保存在变量本地的数据类型
数组如何存储:
引用类型的对象如何存储:在变量之外开辟独立的存储空间,变量仅保存外部存储空间的地址
按值传递
两个变量间赋值时,或将变量作为参数传入函数时,其实只是将原变量中的值复制一个副本给对方
结果:对原始类型的值:修改新变量,不影响原变量
为什么: 复制的是原始的值
对引用类型的对象:通过新变量修改对象,等效于直接修改原对象。
为什么: 仅复制地址值,原对象不增加
垃圾回收
垃圾回收:引擎会自动释放不再使用的对象的空间
垃圾回收器:自动记录对象的引用次数,并释放不再被任何变量引用的对象的小程序,伴随js主程序并行执行。
原理:创建对象时,每个对象都有一个属性:引用计数器,用来记录引用对象的变量个数
*如果变量不再使用对象时,要将变量赋值为null*
对象的引用计数器-1
垃圾回收器会自动寻找引用计数器为0的对象,释放
如何访问数组中的元素
元素: 数组中每个数据都是一个元素
打印数组:console.log(String(arr));
输出对象的结构:console.dir(arr);
(1)如何访问:
下标: 数组中唯一标识每个元素存储位置的序号
特点: 从0开始,连续不重复
(2)何时使用:只要访问数组元素,只能用下标
(3)如何使用:数组名[i]——用法和单个变量完全一样!
数组的length属性
记录了数组中理论上的元素个数,length属性的值永远是最大下标+1
固定套路:
(1)获得数组最后一个元素: arr[arr.length-1]
(2)获得倒数第n个元素的位置: arr[arr.length-n]
(3)在数组末尾追加一个新元素: arr[arr.length]=新值
(4)数组缩容: 减小arr.length的数值,会删除结尾的多余元素。
a)删除末尾元素:arr.length--;
b)删除末尾n个元素:arr.length -= n;
c)清空数组:arr.length = 0;
(5)遍历数组: 依次访问数组中每个元素,对每个元素执行相同的操作
for(var i=0;iarr.length;i++){
arr[i]//当前正在遍历的元素
}
特殊: 三个不限制
不限制数组的元素个数:长度可变,可随时在任意位置添加新元素
不限
文档评论(0)