当前位置: 首页 > 编程日记 > 正文

JS高级程序设计第五章读书笔记

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

相关文章:

使用Tape和Vue Test Utils编写快速的Vue单元测试

by Edd Yerburgh埃德耶堡(Edd Yerburgh) 使用Tape和Vue Test Utils编写快速的Vue单元测试 (Write blazing fast Vue unit tests with Tape and Vue Test Utils) Tape is the fastest framework for unit testing Vue components.磁带是用于Vue组件进行单元测试的最快框架。 I…

js去除数组中重复值

//第三种方法加强版 Array.prototype.distinctfunction(){ var sameObjfunction(a,b){ var tag true; if(!a||!b)return false; for(var x in a){ if(!b[x]) return false; if(typeof(a[x])object){ tagsameObj(a[x],b[x]); }else{ if(a[x]!b[x]) return false; } } return ta…

CXFServlet类的作用

CXFServlet是Apache CXF框架中的一个核心组件,用于处理HTTP请求并将它们转换为Web服务调用。通过配置CXFServlet,你可以轻松地部署和管理SOAP和RESTful Web服务。

了解jvm对编程的帮助_这是您对社会责任编程的了解

了解jvm对编程的帮助by ?? Anton de Regt由?? 安东德雷格 这是您对社会责任编程的了解 (This is what you need to know about Socially Responsible Programming) 您的才华比银行帐户中的零值多 (Your talent is worth more than lots of zeroes in your bank account) L…

解压和生成 system.imgdata.img ( ext4格式)

另一篇文章讲述了如何解压和生成system.img, 那是针对yaffs2格式的文件系统镜像。 目前越来越多的Android手机放弃了nand, 更多采用了emmc为内部存储设备。 以emmc为存储设备的android手机,其文件系统(/system,/data两个分区)一般采用ext4格式…

简单分析beyond作曲

本人绝对是业余的哈 业余到什么水平呢?正在练习爬格子,还是一个星期练几次那种 先说下《海阔天空》 6,5,4,3 1,2,3,4 简单是简单得不得了,声从低到高,然后再从…

1 OC 对象的本质(一个NSObject 对象占用的内存大小)

1 前言 目录 1 前言 2 一个NSObject占用多少内存 3 为什么呢 ? 4 如何在内存中看呢? OC 的面向对象都是基于C/C 的数据结构实现的 结构体 2 clang 命令转换成c 代码 clang -rewrite-objc main.m -o main.cpp 以上的命令是不分平台进行编译的&…

Xiki:一个开发人员寻求增强命令行界面的能力

by Craig Muth通过克雷格穆斯(Craig Muth) Xiki:一个开发人员寻求增强命令行界面的能力 (Xiki: one developer’s quest to turbocharge the command line interface) I was sitting with my friend Charles in a trendy cafe next to Golden Gate Park in San Fra…

2 OC 对象的本质(一个Student 占用的内存大小)

一 Student 占用的内存空间 补充: 1 成员变量占用字节的大小: 2 内存对齐的规则:结构体的内存大小必须是最大成员变量的内存的倍数。 一个 Student 类,继承自NSObject,有两个属性,首先要知道,int 类型占用…

jdk动态代理源码学习

最近用到了java的动态代理,虽然会用,但不了解他具体是怎么实现,抽空看看了看他的源码。 说到Java的动态代理就不能不说到代理模式,动态代理也就是多了一个’动态’两字,在《大话设计模式》中不是有这句话吗?“反射&…

20162313苑洪铭 第一周作业

20162313苑洪铭 20016-2017-2 《程序设计与数据结构》第1周学习总结 教材学习内容总结 本周观看教材绪论 主要在教我建立一个简单的java程序 内容是林肯的名言 虽然看起来很简单 但是实际上问题重重 总而言之 这一周全是在出现故障的 教材学习中的问题和解决过程 教材学习好像并…

测试驱动开发 测试前移_测试驱动的开发可能看起来是工作的两倍-但无论如何您都应该这样做...

测试驱动开发 测试前移by Navdeep Singh通过Navdeep Singh 测试驱动的开发可能看起来是工作的两倍-但无论如何您都应该这样做 (Test-driven development might seem like twice the work — but you should do it anyway) Isn’t Test Driven Development (TDD) twice the wor…

3 OC 属性和方法

1 OC 的属性的生成 interface Student:NSObject {publicint _no;int _age;}property (nonatomic,assign)int height;end 当我们使用property 的时候,那么系统会自动的在其内部生成个属性 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m -o main.c…

ios绘图时的坐标处理

在iOS中,进行绘图操作时,一般主要是在UIView:drawRect中调用 UIGraphicsBeginImageContextWithOptions等一系列函数,有时候直接画图就行,比如UIImage的drawRect等,有时候需要进行稍微复杂的操作,比如颜色混…

mongoDB数据库操作工具库

/* Mongodb的数据库工具类 */ var client require(mongodb).MongoClient;function MongoUtil() { this.url"mongodb://localhost:27017/storage";//在本地新建数据库storage,此后插入的数据都在storage中 }MongoUtil.prototype.connectfunction(callback…

开源许可证 如何工作_开源许可证的工作方式以及如何将其添加到您的项目中...

开源许可证 如何工作by Radu Raicea由Radu Raicea 开源许可证的工作方式以及如何将其添加到您的项目中 (How open source licenses work and how to add them to your projects) Recently, there was some exciting news for developers around the world. Facebook changed t…

通过API文档查询Math类的方法,打印出近似圆,只要给定不同半径,圆的大小就会随之发生改变...

package question;import java.util.Scanner; import java.lang.Math;public class MathTest {/*** 未搞懂* param args*/public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("请输入圆的半径:");Scanner in new Scanne…

4 OC 中的内存分配以及内存对齐

目录 一 OC 中的内存分配 一 OC 中的内存分配 student 结构体明明是20?为什么是24个字节,因为结构体会按照本身成员变量最大的内存进行对齐,最大成员变量是8个字节,因此就是8的倍数,24个字节。 class_getInstanc…

JDE函数--GetUDC(B函数)

GetUDC使用方式: 转载于:https://www.cnblogs.com/GYoungBean/p/4117965.html

k8s crd构建方法_告诉您正在构建没人想要的东西的8种方法(以及处理方法)

k8s crd构建方法by Geoffrey Bourne杰弗里伯恩(Geoffrey Bourne) 告诉您正在构建没人想要的东西的8种方法(以及处理方法) (8 ways to tell you’re building something nobody wants (and what to do about it)) Building something users want is hard — damn hard. They ar…

iOS开发 - 线程与进程的认识与理解

进程: 进程是指在系统中正在运行的一个应用程序,比如同时打开微信和Xcode,系统会分别启动2个进程;每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内;线程: 一个进程要想执行任务,必须得有…

Winform开发中常见界面的DevExpress处理操作

我们在开发Winform程序的时候,需要经常性的对界面的一些控件进行初始化,或者经常简单的封装,以方便我们在界面设计过程中反复使用。本文主要介绍在我的一些项目中经常性的界面处理操作和代码,以便为大家开发的时候提供必要的参考。…

5 OC 中的三种对象

目录 OC 中对象的分类 一 instance 对象 二 类对象 三 元类对象 总结: OC 中对象的分类 instance 对象 类对象 元类对象 一 instance 对象 内存中包含哪些信息 isa 指针 其他成员的变量Student *stu1 [[Student alloc]init]; 以上的stu1 就是实例对象 二 类对象 以…

travis ci_如何使用Travis CI和GitHub进行Web开发工作流程

travis ciby Vijayabharathi Balasubramanian通过Vijayabharathi Balasubramanian 如何使用Travis CI和GitHub进行Web开发工作流程 (How to use Travis CI and GitHub for your web development workflow’s heavy lifting) It’s common to hack together apps on CodePen wh…

android.view.ViewRoot$CalledFromWrongThreadException的解决办法

android 是不允许子线程直接更新UI的,如果一定要在子线程直接更新UI就会出现android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.大概意思就是说 只有原来创建找个视图hierarchy的…

6 OC中 isa 和 superclass 的总结

目录 一 关于isa 和 superclass 的总结 二 为什么基类的metaclass 的superclass 指向的是基类的类 三 isa 的细节问题 总结如下: instance 的isa 指向是classclass 的isa 指向是metaclassmetaclass 的isa指向是基类的imetaclassclass 的superclass 指向的是父类…

opencv下指定文件夹下的图片灰度化(图片的读取与保存)-------简单记录

对于此功能其实很简单&#xff1a;主要是在c方面的字母数字的拼接问题存在一定的问题。C数字字母拼接问题&#xff1a; 1 #include <fstream> 2 #include <string> 3 #include <iostream> 4 #include "highgui.h" 5 #include <cv.h> 6 #…

css菜单缓慢滑动_如何使用HTML,CSS和JavaScript构建滑动菜单栏

css菜单缓慢滑动by Supriya Shashivasan由Supriya Shashivasan 如何使用HTML&#xff0c;CSS和JavaScript构建滑动菜单栏 (How to build a sliding menu bar using HTML, CSS and JavaScript) A menu is what you look for when you land at a website. It has options and gi…

素数环问题---深度搜索遍历

1264: 素数环 时间限制: 1 Sec 内存限制: 128 MB提交: 29 解决: 8[提交][状态][讨论版]题目描述 有一个长度为n的环形序列由1,2,3,...,n组成&#xff0c;环中相邻两个整数和均为素数。你需要找到所有满足条件的环。输入 输入n表示环的长度&#xff08;n<16&#xff09;输出…