JavaScript 中的有限状态机,第 1 部分: 设计一个小部件
2007-03-05 14:53
435 查看
基于浏览器的开发设计人员(如 JavaScript、Ajax)能够大大受益于有限状态机(设计和实现事件驱动程序)的原理。本文介绍如何使用有限状态机为一个简单的 Web 小部件设计复杂的行为。
有限状态机很早就已用作设计和实现事件驱动的程序(比如网络适配器和编译器)内复杂行为的组织原则。现在,可编程的 Web 浏览器为新一代的应用程序开辟了一种全新的事件驱动环境。基于浏览器的应用程序因 Ajax 而广为流行,而同时也变得更为复杂。程序设计人员和实现人员能够大大受益于有限状态机的原理和结构。本篇文章将向您介绍如何使用有限状态机来为一个简单的 Web 小部件 —— 一个能够淡入和淡出的工具提示 —— 设计复杂的行为。
本系列的第 2 部分将描述如何在 JavaScript 内实现此设计,以及如何充分利用 JavaScript 独特的语言特性,比如关联数组和函数闭包。第 3 部分则会涵盖如何使此实现能够在所有流行的 Web 浏览器中正常工作的内容。最终的代码紧凑简练,逻辑清晰透明,动画效果即使在负载极重的处理器上也能平稳流畅。
多年以来,Web 设计人员一直都通过在流行的 Web 浏览器内采用 JavaScript 解释器的方式来改善其网站的外观。他们的做法大都是将代码的简短片段复制到 HTML 页面中。当前,随着 Ajax 的日益流行,软件工程师也开始使用 JavaScript 来开发能在浏览器内执行的新一代的应用程序。基于浏览器的应用程序的规模不断扩大,这就相应要求采用其他执行环境成长和发展所使用的相同设计模式和开发原理。
。。。。。。
点击此处查看详情
有限状态机很早就已用作设计和实现事件驱动的程序(比如网络适配器和编译器)内复杂行为的组织原则。现在,可编程的 Web 浏览器为新一代的应用程序开辟了一种全新的事件驱动环境。基于浏览器的应用程序因 Ajax 而广为流行,而同时也变得更为复杂。程序设计人员和实现人员能够大大受益于有限状态机的原理和结构。本篇文章将向您介绍如何使用有限状态机来为一个简单的 Web 小部件 —— 一个能够淡入和淡出的工具提示 —— 设计复杂的行为。
本系列的第 2 部分将描述如何在 JavaScript 内实现此设计,以及如何充分利用 JavaScript 独特的语言特性,比如关联数组和函数闭包。第 3 部分则会涵盖如何使此实现能够在所有流行的 Web 浏览器中正常工作的内容。最终的代码紧凑简练,逻辑清晰透明,动画效果即使在负载极重的处理器上也能平稳流畅。
多年以来,Web 设计人员一直都通过在流行的 Web 浏览器内采用 JavaScript 解释器的方式来改善其网站的外观。他们的做法大都是将代码的简短片段复制到 HTML 页面中。当前,随着 Ajax 的日益流行,软件工程师也开始使用 JavaScript 来开发能在浏览器内执行的新一代的应用程序。基于浏览器的应用程序的规模不断扩大,这就相应要求采用其他执行环境成长和发展所使用的相同设计模式和开发原理。
。。。。。。
点击此处查看详情
相关文章推荐
- 设计一个javascript框架
- 算法设计:将一个数组分为奇数、偶数左右两个部分,要求时间复杂度为O(n)
- 设计一个简易的处理器(2)--处理器的硬件部件
- 如何设计一个异步Web服务——接口部分
- 一个使用Java jdk8中Nashorn(Java javascript引擎)设计的Web开发框架
- 设计了一个JavaScript的源代码混淆器
- 一个简单的友好的javascript 模块化设计,留待备用
- 使用JavaScript设计一个简单的HTML倒计时页面
- 一个完美网站的101项指标.第四部分.设计
- 设计一个有限状态机提取C语言文件中的注释(java版)
- 一个实际项目Java架构设计之ETL(Kettle)部分介绍
- 产品框架初步设计后,如何为每个部件定义一个清晰的职责范畴?
- 一个完美网站的101项指标.第四部分.设计
- 设计一个简单的日期选择输入部件
- 设计一个JavaScript框架需要编写哪些模块
- 产品框架初步设计后,如何为每个部件定义一个清晰的职责范畴?
- 对于一个字符串,设计一个算法,将包括i位置在内的左侧部分移动到右边,将右侧部分移动到左边。给定字符串A和它的长度n以及特点位置p,请返回旋转后的结果。
- 设计一个JavaScript框架需要编写哪些模块
- 一个纯javascript 写的流程图 设计页面
- Day.js 是一个仅 2kb 大小的轻量级 JavaScript 时间日期处理库,和 Moment.js 的 API 设计保持完全一样,dayjs