《JavaScript应用程序设计》一一1.7 复用性

1.7 复用性

JavaScript之所以如此流行,很大一个原因在于它的代码可移植性与复用性,市面上还有哪一款语言能够做到一份代码同时运行在服务器和客户端?(想知道JavaScript的事件驱动编程是如何改变服务端程序设计的吗 ,请参见第5章“Node与Express入门”一节。)
JavaScript并不缺乏模块化与封装性,经常能够看到来自6个不同团队的JavaScript开发者在维护同一个页面,模块与封装使得他们之间的协作变得更为高效。

时间: 2024-09-23 07:10:46

《JavaScript应用程序设计》一一1.7 复用性的相关文章

《JavaScript应用程序设计》一一2.12 范型编程与集合多态

2.12 范型编程与集合多态 范型编程是指在多种数据类型上提供可复用的一套算法与数据结构,这种语言机制的产生缘由在于算法通常能适配多种数据类型.范型编程一般从几种特定的数据类型实现开始入手,随后逐步将之抽象成为能够兼容更多数据类型的通用版本. 范型编程并没有对不同类型的数据做算法差异性处理,相反,被传入的每种数据类型必须实现算法中所约定的功能,这些功能被称为"接口需求". 范型编程具有参数多态性,它是作用于范类型参数上的逻辑分支,相比之下,重载则需要对所有不同类型的参数分别创建一套处理

《JavaScript应用程序设计》一一2.6 函数作用域

2.6 函数作用域 变量作用域是指变量能够被使用的代码区间.超出作用域的变量值一般为undefined,或者被其他同名变量值所覆盖.大部分类C语言都有块级作用域的概念,这意味着任意代码块都可以成为变量作用域.JavaScript中没有这个块级作用域的概念,拥有其他语言编程经验的JavaScript新手往往会为此而感到困惑.通过var关键字声明的变量具有函数作用域,不过ES6规范中新增了let关键字,使用其声明的变量具有块级作用域.已经有一部分浏览器率先对ES6规范进行了实现,不过你还是最好等到这

《JavaScript应用程序设计》一一3.6 享元模式

3.6 享元模式 比起为每个实例分别创建一组实例数据,享元模式通过将可重复使用的方法与属性保存在一个代理对象中,从而节省了系统资源.特别是当应用中存在大量类型相同的实例时,使用享元模式可以明显提升系统性能并有效减少内存损耗.在其他语言中,你需要额外的步骤来配置享元模式,比如说首先创建一个代理对象,再将所有方法链接至该对象上做延后执行.在JavaScript中,代理原型是一种天然的内建代理对象,所以你不用自己再花费精力实现一个享元模式.假设你正在编写一个视频游戏,在游戏中会有成百上千个"敌人&qu

《JavaScript应用程序设计》一一第2章 函数

第2章 函数函数是构建应用程序的最小功能单元,它们在JavaScript中尤为重要.函数作为JavaScript中的"一等公民",既可以作为对象使用,也可以在程序运行时动态声明.这些与其他语言截然不同的函数特性正是JavaScript所独有的,为了能够在应用中最大程度发挥这些特性的优势,你需要对JavaScript函数的工作机理做全面深入的了解,相信在读完本章后,你将会以一个全新的视角去看待函数.下面介绍一些编写函数时需遵循的最佳实践:不要重复造轮子优秀的程序员向来是懒惰与效率的结合体

《JavaScript应用程序设计》一一2.15 无状态函数(纯函数)

2.15 无状态函数(纯函数) 纯函数往往是没有状态的.这意味着它在执行时不会对外界的变量.对象.数组等值进行修改.纯函数的输入与输出具有一对一的映射关系,无论它被使用者调用多少次.下面是一个普通函数(非纯函数): var rotate = function rotate(arr) { arr.push(arr.shift()); return arr; } test('Rotate', function () { var original = [1, 2, 3]; deepEqual(rota

JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型_基础知识

ECMAScript是一种动态类型的语言,构建于5种简单数据类型(Undefined.Null.Boolean.Number.String)和一种复杂数据类型(Object)的基础之上.这篇文章就来复习一下简单数据类型,我会尽量从编程实践的角度来描述,下面代码运行环境为FireFox 14.0.1. 简单数据类型 简单数据类型 取值 Undefined undefined(只有一个值) Null null(只有一个值) Boolean true|false(只有两个值) Number 数值 St

JavaScript面向对象程序设计(1) 前言

基于对象还是面向对象? 面向对象技术是现代软件开发中的重要技术之一.面向对象变成的好处毋庸置疑,现在的主流语言如 Java.C++都是面向对象的.现在的面向对象理论更多的是使用Java或C++进行描述,究其根源,在于这 些语言都是传统的面向对象语言,具有面向对象理论所指明的一切特性:类.封装.继承.多态等等. 相比而言,一些动态语言如JavaSript就显得不那么面向对象--至少,在JavaScript中 并没有类class这一关键字.但是,在JavaScript中并不是没有类的概念.于是有人说

JavaScript高级程序设计(第3版)学习笔记8 js函数(中)_基础知识

6.执行环境和作用域 (1)执行环境(execution context):所有的JavaScript代码都运行在一个执行环境中,当控制权转移至JavaScript的可执行代码时,就进入了一个执行环境.活动的执行环境从逻辑上形成了一个栈,全局执行环境永远是这个栈的栈底元素,栈顶元素就是当前正在运行的执行环境.每一个函数都有自己的执行环境,当执行流进入一个函数时,会将这个函数的执行环境压入栈顶,函数执行完之后再将这个执行环境弹出,控制权返回给之前的执行环境. (2)变量对象(variable ob

《JavaScript应用程序设计》导读

前言 在本书中我们先后提到了不少Web开发类书籍,但对于那些想从头开始学习构建完整JavaScript应用的读者来说,市面上真正值得推荐的JavaScript教程又显得十分稀缺.与此同时,现在几乎每一个互联网创业公司的人员配备中都少不了资深JavaScript应用程序开发者的角色.本书旨在帮助人们了解如何构建易于扩展和维护的完整JavaScript应用. 本书并不打算向读者详细讲解JavaScript语言基础,它基于你现有的JavaScript知识结构,向你展示那些会让你的编码工作长久受益的Ja