1.引用类型的值(对象)是引用类型的一个实例。在ES中,引用类型是一种数据结构,用于将数据和功能组织在一起。它们也长被称为类,但这并不妥当。因为ES在技术层面上是一门面对对象的语言,但它并不具备传统的面向对象的语言所支持的了和接口等基本结构,引用类型有时候也被称为对象定义,因为他们描述的是一类对象所具有的属性和方法。
2.创建object实例的方式有两种,第一种是使用new操作符后跟object构造函数。另一种方式是使用对象字面两表示法。
3.ES数组除了与其他编程语言一样都是数据的有序列表外,不同的是,ES数组的而每一项都可以保存任何类型的数据。
4.创建数组的基本方式有两种。一种是Array构造函数。另一种则是使用数组字面量表示法。与对象的构建方法相同的是,在使用数组字面量表示法时,也不会调用Array构造函数。
5.instanceof操作符能解决某个对象是不是数组的问题,但如果一个网页存在多个框架,则会存在多个全局执行环境,就会有多个Array构造函数,如果一个数组从一个框架传向另一个框架,那么传入的数组与在第二个框架中原生创建的数组便具有了不同的构造函数。而ES5新增了Array.isArray()方法。这个方法可以无视在那个全局环境创建的,而得出是不是数组。
6.调用数组的tostring()会返回有数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。
7.在调用toLocaleString()方法时,他会创建一个数组值的一逗号分隔的字符串。
8.ES数组也提供了push()和pop()方法,以便实现类似与栈的行为(后进先出)。push()方法可以接受任意数量的参数,把他们添加到数组的末尾,并返回修改后数组的长度。而pop()方法,则会从数组末尾一处最后一项,减少数组的length值,然后返回移除的项。
9.数组还有shift()方法,它能够移除数组中的第一个项并返回该项。同时数组长度减1。
10.数组中已经存在两个可以直接用来重排序的方法:reverse()和sort()。其中reverse()方法会对方砖数组项的顺序。而sort()则默认按升序排列数组项,但sort()也会可以接受一个比较函数作为参数,以便我们指定那个值位于那个值得后面。
11.数组的concat方法可以基于当前数组中的所有项创建一个新数组。slice()则能够用基于当前数组的一过多个项创建一个新数组。
12.数组中的solice方法时最强大的数组方法。可以删除,插入,替换。其主要用途是想数组的中部插入项。
16.ES5为数组是咧添加了两个位置方法:indexOf()和lastIndexOf().这两个方法都接收两个参数:要查找的项和表示查找起点位置的索引。只不过前者在数组的开头找,后者在数组的末尾找。
17.ES5为数组定义了5个迭代方法。每个方法都接受两个参数:要在每一项上运行的函数与和(可选的)运行该函数的作用域对象——影响this的值。传入这些方法的函数会接收三个参数:数组项的值,该项在数组中的位置和数组对象本身。这五个迭代方法分别是:every();filter();foeEach();map();some()。
18.ES5海新增了两个缩小数组的方法:reduce()和reduceRight().这两个方法都会迭代数组的所有想,然后构建一个最终返回的值。两个方法都接受两个参数:一个在每一项上调用的函数和(可选)作为缩小基础的初始值。传给reduce()和reduceRight()的函数接受4个参数:前一个值,当前值,项的索引和数组对象。两个方法作用相同,但方向相反。
19.ES通过RegExp类型支持正则表达式。正则表达式的匹配模式支持下列3个标志:
g:表示全局模式,即模式将被应用于所有的字符串。而非在发现第一个匹配项立即停止。
i:表示不区分大小写模式,即在确定匹配项时忽略模式与字符串的大小写;
m:表示多行模式,即在到达一行文本末尾是还会继续查找下一行中是佛存在与模式匹配的项。
一个正则表达式就是一个模式和上述三个表示的组合体。不同的组合则会产生不同的结果。
20.RegRxp的每个是咧都会具有以下属性,通过这些属性可以取得有关模式的各种信息。
global:布尔值,表示是否设置了g标志。
ignoreCase:布尔值,表示是否设置了i标志。
lastIndex:整数,表示开始搜索下一个匹配项的字符位置,从0算起。
multiline:布尔值,表示是否设置m标志。
source:正则表达式的字符串表示。按照字面量形式传入构造函数中的字符串模式返回。
21.RegExp对象的主要方法是exec(),该方法是专门为捕获组而设计的。
22.由于函数是对象,英雌函数名实际上也是一个指向函数对象的指正,不会与某个函数绑定。又因为ES中的函数名本省是对象,所以函数也可以作为值来使用。
23.在函数内部,有两个特殊的对象:arguements和this。arguements是一个类数组对象,包含着传入函数中的所有参数。该对象还有一个叫callee的属性,是一个指针,可以返回正在执行的Functon对象。指向拥有argument对象的函数。this引用的是函数据以执行的环境对象。
24.ES中函数是对象,因此函数也有属性和方法。每个函数都包括两个属性:length和prototype.其中length属性表示函数希望接受的命名参数的个数。而在ES核心所定义的全部属性中,prototype最耐人寻味了。,对于ES中的引用类型而言,prototype是保存他们所有实例方法的真正所在。且该属性不能被枚举。
25.ECMA-262定义了两个单体内置对象Global和Math.
26.Global是全局对象。包含了URI编码方法和eval_r()方法。eval_r()是ES语言最强大的一个方法。只接受一个参数,即要执行的字符串。

转载于:https://www.cnblogs.com/srtain/p/6505216.html

JS高级程序设计第五章读书笔记相关推荐

  1. 《JS高级程序设计》第二遍读书笔记

    这一遍的重点还是在JS语言本身,后面的DOM和BOM部分看的比较快,因为现在实际上用的不多,掌握大致的原理,需要的时候再翻手册就可以了. 认为暂时没必要的知识点WebGL, 认为已经不需要.过时的知识 ...

  2. Android深度探索--HAL与驱动开发----第五章读书笔记

    第五章主要学习了搭建S3C6410开发板的测试环境.首先要了解到S3C6410是一款低功耗.高性价比的RISC处理器它是基于ARMI1内核,广泛应用于移动电话和通用处理等领域. 开发板从技术上说与我们 ...

  3. 《Java8实战》-第五章读书笔记(使用流Stream-02)

    付诸实战 在本节中,我们会将迄今学到的关于流的知识付诸实践.我们来看一个不同的领域:执行交易的交易员.你的经理让你为八个查询找到答案. 找出2011年发生的所有交易,并按交易额排序(从低到高). 交易 ...

  4. JavaScript高级程序设计---第五章 基本引用类型

    第五章 基本引用类型 本章内容 理解对象 基本JavaScript 数据类型 原始值与原始值包装类型 引用值(或者对象)是某个特定引用类型的实例. 对象被认为是某个特定引用类型的实例.新对象通过使用n ...

  5. 读书笔记 - js高级程序设计 - 第四章 变量 作用域 和 内存问题

    5种基本数据类型 可以直接对值操作 判断引用类型 var result = instanceof Array 执行环境 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对 ...

  6. windows 程序设计 第三章读书笔记(上)

    娘的,今天晚上在阳台做饭把水管一脚踢爆了,水流到下面的住户的阳台,让个老娘们把我骂了一顿,本着做错事的原则,我装的很绅士还说了个对不起,擦,真是条纯汉子,能屈能伸. 大爷,别看我年轮小,我都给总结了, ...

  7. lua元表和元方法 《lua程序设计》 13章 读书笔记

    lua中每个值都有一个元表,talble和userdata可以有各自独立的元表,而其它类型的值则共享其类型所属的单一元表.lua在创建table时不会创建元表. t = {} print(getmet ...

  8. 《你必须知道的.NET》第五章读书笔记

    了解.NET的类型很重要 .NET的主要类型分为值类型和引用类型 区分这2种类型 1.内存方面 值类型: 包括枚举enum 和结构 struct 内存分配: 实例通常分配在线程的堆栈上,并且不包括任何 ...

  9. JS高级程序设计——阅读笔记四

    JS高级程序设计--阅读笔记四 第六章 集合引用类型 6.1 Object 6.2 Array 6.2.1 创建数组 from()函数 6.2.2 数组空位 6.2.3 数组索引 6.2.4 检测数组 ...

最新文章

  1. php俄罗斯方块代码,[原创]Matlab做的俄罗斯方块(含代码)
  2. python使用pip安装包_12.2.1 使用pip安装Python包
  3. mitmproxy抓包 | Python篡改请求参数实战(五)
  4. python---io模式详解(适合零基础)
  5. 扩展JavaScript数组(Array)添加删除元素方法
  6. Atitit orm 之道 艾龙著 1. 一、ORM的由来 1 2. ORM的组成:      2 3.  常见的ORM框架:      3 4. 、ORM与数据持久化的关系 3 5. Atitit
  7. wpe手机中文汉化版下载_wpe中文3.0专业版
  8. 阿里云运行python_阿里云运行python代码
  9. 软件测试书在线阅读,软件测试实用教程
  10. 2022安徽宣城市广德市桐汭街道招聘社区后备干部考试试题及答案
  11. 信息安全必备的8张思维导图
  12. 小团队管理核心(一)
  13. SPEA多目标优化算法--测试case发电机发电量分配[转]
  14. 将 5 万行 Java 代码移植到 Go 学到的经验
  15. eslint 如何单独给一行取消eslint检查
  16. 《点石成金》(持续更新)
  17. c语言实现图片过渡效果飞入,用css3实现转换过渡和动画效果
  18. (已更新)王者荣耀改名神器助手微信小程序源码下载
  19. 深入理解Java虚拟机读书笔记七
  20. 最炙手可热的行业——大数据就业方向和学习路线图详解

热门文章

  1. ORB_SLAM2代码阅读(5)——Bundle Adjustment
  2. postbody传参_post传参params与body的区别(@RequestParam和@RequestBody的区别)
  3. append从一个添加到另一_真特么激动第一个爬虫----爬取豆瓣电影top250
  4. 最详细的----->一维数组实现杨辉三角
  5. java圆周率流程图,流程图、PI图入门知识 课件.doc
  6. 关于介绍编程前景的html文档,HTML编程基础稿件(32页)-原创力文档
  7. linux vim 多窗口,关于linux vim命令 总结
  8. C++:vector容器中使用pair该如何访问成员
  9. C++:vector中使用.clear()函数
  10. char*,const char*,string的相互转换 C++