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

Javascript编程图书功能

Javascript编程图书功能
这篇文章记录了我在学习中所理解的一些东西,加深记忆和记录,并方便地复习。

在不久的将来,这本书Javascript函数式编程是预先设定的,主要目的是让个人不了解目前什么是函数式编程,在学习的过程中,人们一直在听过程编程和面向对象编程,和作用很小。为了不落后于其他学生的脚步,你想分享和记录的知识,你读的记笔记的方法。

js与函数编程

在一个简单的句子里,这本书回答了什么是函数式编程:

函数编程通过使用函数将值转换为抽象单元,然后用于构建软件系统。

我认为有些学生必须看到这个句子,或者不知道如何移动到函数式编程,为什么要使用函数式编程。

作为抽象单元的函数

抽象方法是隐藏细节的函数。在书中举一个例子,这个函数检测输出的年龄值(主要是关于错误和警告的报告):
功能parseage(年龄){
如果(!_ isstring(年龄))。
抛出新错误(期望一个字符串);
VaR;
console.log(试图解析一个时代);

= parseInt(年龄,10);
如果(_。isnan()){
console.log({无法解析年龄:}。加入());
a = 0;
}

返回一个;
}

上面的函数决定我们是否进入一个年龄,必须是字符串形式,然后运行这个函数:
ParseAge(42);42 / / = >
ParseAge(42)错误:期待一个字符串 / / = >;
ParseAge(心); / / = > 0
有以上的parseage功能正常工作没有问题。如果我们要修改输出误差=信息和预警的呈现,那么我们需要修改相应的代码行,以及在其他地方输出模式。书中的方法是通过抽象成不同功能的实现:
函数失败(事物){
抛出新的错误(事物);
}

函数警告(事物){
console.log({警告:
}

函数注释(事物){
console.log({注:
}

然后你使用以上功能调整parseage功能。
Funciton parseAge(年龄){
如果(!_ isstring(年龄))。
失败(期望一个字符串);
VaR;

注意(试图解析一个年龄);
= parseInt(年龄,10);

如果(_。isnan()){
警告({)无法解析年龄:
a = 0;
}

返回一个;
}

报告错误代码放入不同的功能,和重新配置的parseage和以前没有太大的变化。但不同的是,报告错误的观念、信息和预警进行了抽象,错误的结果,信息和警告也完全改变。

这是因为行为包含在一个函数中,因此函数可以被新的函数替换,这些函数可以提供类似的行为,或者完全由完全不同的行为所代替。

封装和隐藏

这个称号是很容易理解的,例如,我们经常使用寿命避免全球污染,这是封装和隐藏的一个很好的例子。通过生活隐藏的变量和方法写作,目的是不污染全球环境。这也是使用闭包来隐藏数据的方式。

因为闭包也是一个函数,学习函数编程与现在有很大的关系,但是不要忘了以前学习的面向对象封装。毕竟,这两个人不能说谁更好,但掌握这一切并不是一件坏事。

作为行为单位的功能

隐藏数据和行为(通常不便于快速修改)只是将函数抽象为函数的一种方式,另一种方法是提供一种简单的存储模式和通过基本行为的脱机分散单元。

在本书中,一个小栗子用于通过使用JS语法来索引数组中的值。
var arr = {'a',B,C};
ARR { 1 } b / / = >
虽然索引数组中的值非常简单,但是如果不把它放在函数中,就无法得到这个行为,并在需要时使用它来使用一个简单的函数n,该函数用于索引数组中的值。
函数n(a,index){
返回一个{ };
}
然后运行:

n(G,1); / / = > B

它的成功运行,但如果它被传递到一个空的对象,这将是错误的报道。因此,如果你想专注于n实现抽象的功能,我们可以设计以下声明:元n返回索引来访问存储在允许的数据类型。这句话的关键是对指标数据类型的概念,一个函数可以确定类型:
功能isindexed(数据){
返回_。ISArray(数据)_ isstring | |(数据);
}
然后继续提高n功能,isindexed函数是一个抽象的概念,提供了一个决定,以确定是否一个特定的数据是一个字符串或数组。
函数n(a,index){
如果(!_ isnumber(指数))。
失败(期望一个数作为索引);
如果(!IsIndexed(一))
失败(不支持非索引类型);
如果(((指数a.length - 1))
失败(索引值越界);

返回一个{ };
}

以与索引提取对象相同的方式构建第二个抽象,同样的方法构造n个函数抽象:
函数第二(a){
返回n(a,1);
}
函数允许在不同但相关的情况下正确使用n个函数。

二(ARR); / / = > B

通过上面的栗子,你知道,我们可以把每一步抽象成一个函数,并抽象出每一个参数,虽然这种书写的定义定义了许多函数,但是,更容易理解每个项目的功能和过程。

数据抽象

Javascript的对象原型模型是丰富而基本的数据方案。

因为JS没有阶级的原因,有很多模拟的方法,和类的关键词出现在6。虽然有类的许多优势,许多在货币类js应用的数据是简单得多的时代。

基于类的对象系统的合理参数之一是实现用户界面的历史使用。

js中的对象和数组已经能够满足我们的数据操作,下划线也是如何处理数组和对象的焦点。

实现和使用的简单使用JS的核心数据结构数据建模的目的。这并不是说,一个对象化或类方法是完全无用的。一套为中心的功能性的方法更适合于处理人的相关数据,以及面向对象的方法是最合适的模拟。

JS函数的初步测试

在开始函数式编程之前,您需要定义两个常用和有用的函数:
功能目前存在的(x){
返回x!= null
}

一些函数(x){
返回(x)!= = false)目前存在的(X);
}

对目前存在的功能设计前的东西定义事物的存在。有JS能够表明不存在两个值:空的和不确定的。

的一些功能是用来确定一个对象是否应该被认为是一种真理的同义词。

我们可以在很多地方,使用这两种功能事实上,功能的概念来自使用。一些学生可能已经熟悉很多JS实现如图foreach等方法。和Underscroe也提供了一些类似的方法,可供选择underscroe协助学习函数式编程的原因。

总之,它是:

抽象函数存在性的一个定义。

基于函数存在的真抽象函数的定义。

使用其他函数使用上面的两个函数来实现更多的行为。
加快

在对函数编程有一个大致的了解之后,你可能会认为这个函数式编程不是很慢吗例如,为了获得数组索引,有必要定义一个专门的函数吗ARR指标} {直接使用比这些功能更快绝对。
var arr = { 1, 2, 3,4, 5 };

最快的
对于(var i = 0;i < arr.length;i++){
console.log(ARR {我});
}

/慢
_。每个(ARR,功能(Val,指数){
console.log(指数);
});

但是我们可能对代码没有太多的考虑,也许它比原代码慢一点,但在大多数情况下,它并不关心那个时间。现在,有强大的V8引擎。在大多数情况下,他可以高效地编译和执行我们的js代码,因此在编写正确的代码之前,我们不必考虑运算速度。

如果我选择了它,我可能更关心代码的风格。当然,为了确保基本的计算速度不那么慢,您使用的是什么样的舒适。

总结

读完第一章,它也是一个可以用JS总结的函数式编程:

确定抽象并为其构建函数。

使用现有函数构建更复杂的抽象。

通过将现有函数传递给其他函数来构建更复杂的抽象。

仅仅构建一个抽象是不够的,如果我们能够结合强大的数据抽象来实现函数式编程,那就更好了。

以下各章将慢慢为大家分享,敬请关注。

相关文章

ai给增添了美丽的辐射效果。

ai给增添了美丽的辐射效果。

辐射,效果,美丽,增添了,电脑软件,本教程介绍了ai的朋友给图片添加漂亮的辐射效果。教程制作的辐射光线非常漂亮,难度也不大。建议你喜欢你的朋友一起学习。 本教程教人工智能学习者使用AI为图片添加漂亮的辐射效果。做教程很难。推荐与朋友…

PS是如何使突出效果的

PS是如何使突出效果的

效果,电脑软件,PS,PS是如何使图片突出效果的其实这个方法很简单,下面的小编给大家介绍一下,没有朋友可以跟着教程一起学习,希望能帮到你一些帮助。 PS是一个功能强大的图像处理软件,受到了很多人的青睐,但也有人会问,如何使用PS制作出突出效果的…

PS教程为美丽的户外儿童

PS教程为美丽的户外儿童

教程,户外,儿童,美丽,电脑软件,本教程是介绍给一个朋友,谁使用PS调整审美户外儿童的摄影方法。教程的颜色非常漂亮。这个教程很实用。建议像你这样的朋友一起学习这个教程。 遵循图画的本质是必要的。不要让色调太偏离原始的照片性质。 本…

如何设置WPS表行高WPS表教程

如何设置WPS表行高WPS表教程

教程,行高,如何设置,电脑软件,WPS,很多时候,人们用WPS的形式感觉默认高度不漂亮,但找不到排高的地方。下面看看如何设置WPS表行高度。 操作步骤 1。单击打开需要设置一个高行WPS文件。 打开需要设置的高WPS文件 2、选择需要设置行高的内容。…

PS图象处理软件让一个美丽的春天的

PS图象处理软件让一个美丽的春天的

的花,图象,一个美丽,处理软件,海报,偶尔发现一幅美丽的画像,这幅画像有一些春天的信息,作者特地想美化它,特别添加了丛林背景,天使翅膀,部分添加了一些花卉和其他装饰品,效果非常漂亮。 偶尔发现一幅美丽的画像,这幅画像有一些春天的信息,作者有意…

excel表提高工作效率隐藏实用技巧e

excel表提高工作效率隐藏实用技巧e

提高工作效率,实用技巧,电脑软件,excel,我们认为,对于这么长时间的Excel,软件的功能,只能用强大来描述,但有很多隐藏的技巧,我们不知道你是否知道还有,这些隐藏的技巧,实用价值很高,特别是在这里我们总结了一些技术,以日后工作提高效率,希望对大家有…

如何加密教程PPT文件格式

如何加密教程PPT文件格式

教程,加密,文件格式,电脑软件,PPT,PPT可以加密ppt,当然也可以加密!这不是秘密,但是有些朋友不是很清楚PPT密码是如何设置的。今天向大家解释一下:如何设置PPT的密码,这里以PowerPoint 2010文件为例。 第一步是单击该文件,另一个步骤是: 第二步,点击…

js动态创建和删除div的方法

js动态创建和删除div的方法

动态创建,方法,删除,电脑软件,js,本文阐述了JS动态创建和删除您参考你Div. Share的方式。具体实现的方法如下: 创建div 功能creatediv(){ 如果(document.getelementbyidx_x(和)!= null) document.body.removechild(document.getelementbyidx_x(和)); var…

excel超实用小技巧动画教程excel基

excel超实用小技巧动画教程excel基

基金会,动画教程,小技巧,电脑软件,excel,使用GIF动画这种简单的表达方式,分析日常应用中经常需要用到的小技巧,容易理解,容易观看。 U3000 U3000 1,在excel页眉中设置斜线: 2、在excel中插入水印: 三.在Excel中设置图片作为背景: 4。在Excel单…

PS酷科幻大战电影海报教程合成

PS酷科幻大战电影海报教程合成

教程,科幻,电影海报,大战,电脑软件,有些朋友喜欢科幻电影,海波,还想做一个很酷的电影海报。今天这个教程是给大家带来的一部科幻酷战电影海报教程,喜欢的朋友可以一起学习。 这张海报将解释网络广告的创意形式之一(海报合成步骤)。我们可以一步…

教你用excel形式教自动求积公式exc

教你用excel形式教自动求积公式exc

函数,公式,教你用,形式,电脑软件,不能避免某种形式的计算(加、减、乘、除+,-,*,/),数量较少,我们可以尝试,但数量大,最好是去想别的东西,比如今天告诉你Excel自动求积公式;没有无论你使用Excel表格现在还是不是,我相信在读完本教程后,你一定会有所作为。…

签名签名拒绝经典个性签名经典签名

签名签名拒绝经典个性签名经典签名

经典,个性签名,电脑软件,个性体现多方面。现在是互联网时代。你想签署一个签名来表达你的个性吗让我们一起来理解它。我希望你喜欢它,喜欢记住它。 我放手。我让我的座位。让一切去。 我爱你,你把我当作空气,不要看着我那么困难, -我不知道怎么…