JavaScript 内核 第0版
大概很少有程序设计语言可以担当的起“优美”这两个字的,我们可以评论一个语言的语法简洁,代码可读性高(尽管这一点主要依赖于开发人员的水平,而并非语言本身),但是几乎不会说哪个语言是优美的,而 Javascript 则是一个例外。
程序设计语言,主要可以分为两种,一种是我们平时接触较多的,工业级的程序设计语言如 C/C++, JAVA,Object Pascal(DELPHI)等,从本质上来讲,这些语言是基于程序存储原理,即冯.诺依曼体系的,一般被称为命令式编程语言,而另一种,是根据阿隆左.丘奇的 lambda 演算而产生的,如 Lisp,Scheme,被称为函数式编程语言。这两个体系一般情况下是互不干涉,泾渭分明的,这一现象直到 Javascript 的逐渐成熟之后才被打破。
函数式语言被认为是晦涩难懂的,学院派的,使用 Lisp 的似乎都是些披头散发,满口之乎者也而且性情古怪的大学教授。Emacs,这个被它的爱好者誉为世界上最强大,最好用的编辑器的插件机制,就是基于一个 Lisp 的方言完成的,Emacs 应该可以算是函数式语言比较成功的运用案例之一,后来又出现了 Gimp,一个 Linux 平台下的图形图像处理软件,它使用另一个 Lisp 的方言来进行自己的扩展。
如此看来,函数式编程似乎已经被人们所接受了,然而事实并非如此简单,那种 前缀的操作符,一切皆函数 的理念在短时间内是无法被诸如 数据结构+算法=程序 之类箴言束缚住思想的冯.诺依曼程序员所接受,直到 JavaScript 的出现。
前言
本书组织结构
如何使用本书
致谢
第一章 概述
1.1 Javascript 简史
1.1.1 动态网页
1.1.2 浏览器之战
1.1.3 标准
1.2 JavaScript 语言特性
1.2.1 动态性
1.2.2 弱类型
1.2.3 解释与编译
1.3 Javascript 应用范围
1.3.1 客户端 Javascript
1.3.2 服务端 Javascript
1.3.3 其他应用中的 Javascript
基础部分
第二章 基本概念
2.1 数据类型
2.1.1 基本数据类型
2.1.2 对象类型
2.1.3 两者之间的转换
2.1.4 类型的判断
2.2 变量
2.2.1 基本类型和引用类型
2.2.2 变量的作用域
2.3 运算符
2.3.1 中括号运算符([])
2.3.2 点运算符(.)
2.3.3 == 和 === 以及 != 和 !==
第三章 对象与 JSON
3.1 Javascript 对象
3.1.1 对象的属性
3.1.2 属性与变量
3.1.3 原型对象
3.1.4 this 指针
3.2 使用对象
3.3 JSON 及其使用
第四章 函数
4.1 函数对象
4.1.1 创建函数
4.1.2 函数的参数
4.2 函数作用域
4.2.1 词法作用域
4.2.2 调用对象
4.3 函数上下文
4.4 call 和 apply
4.5 使用函数
第五章 数组
5.1 数组的特性
5.2 使用数组
5.2.1 数组的基本方法使用
5.2.2 删除数组元素
5.2.3 遍历数组
第六章 正则表达式
6.1 正则表达式基础概念
6.1.1 元字符与特殊字符
6.1.2 范围及重复
6.1.3 分组与引用
6.2 使用正则表达式
6.2.1 创建正则表达式
6.2.2 String 中的正则表达式
6.3 实例:JSFilter
第七章 闭包
7.1 闭包的特性
7.2 闭包的用途
7.2.1 匿名自执行函数
7.2.2 缓存
7.2.3 实现封装
7.3 应该注意的问题
7.3.1 内存泄漏
7.3.2 上下文的引用
第八章 面向对象的 Javascript
8.1 原型继承
8.1.1 引用
8.1.2 new 操作符
8.2 封装
8.3 工具包 Base
8.4 实例:事件分发器
第九章 函数式的 Javascript
9.1 匿名函数
9.2 高阶函数
9.2.1 JavaScript 中的高阶函数
9.2.2 C 语言中的高阶函数
9.2.3 Java 中的高阶函数
9.3 闭包与柯里化
9.3.1 柯里化的概念
9.3.2 柯里化的应用
9.4 一些例子
9.4.1 函数式编程风格
9.4.2 Y-结合子
9.4.3 其他实例
后记
下载地址:https://www.wenjiangs.com/wp-content/uploads/2023/10/L5frhZQRHzs4ZSj0.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论