JavaScript设计模式之二:百变的JavaScript
来源:互联网 发布:html5网页编程软件 编辑:程序博客网 时间:2024/05/22 13:12
JavaScript的多变性是它的特点之一,而众多特点中,闭包与对象的易变性是它与其他面向对象语言差别最大的地方,本文就特别说明以下这两个特点闭包
闭包
由于在JavaScript中,函数(Function)是一类特殊的对象,既可以存储值,也可以与其他函数作为变量通信。因此函数为JavaScript提供了充分的灵活性,而闭包就可以理解为匿名函数的即时执行,以下是一个闭包的实例:/* 匿名函数,即时执行 */(function() {var a = 10;var b = 2;alert(a * b);})();
可以看到闭包性质的函数在结尾都有一个双括号,这表示该函数立即执行,以下是一个执行传参的闭包:
(function(a,b) {alert(a * b);})(10, 2);
以下是闭包函数返回值并获取的实例:
var value = (function(a,b) {return a * b;})(10, 2);
最有趣的是闭包内部实现外部函数,以下是实例:
var fn;(function() {var a = 10;var b = 2;fn = function() { return a * b; };})();fn();
函数可变性
在JavaScript中任何都是对象,而且任何对象都是可变的,以下是一个实例:
function displayError(message) {displayError.numTimesExecuted++;alert(message);};displayError.numTimesExecuted = 0;
- JavaScript设计模式之二:百变的JavaScript
- 《JavaScript设计模式》神奇的JavaScript(二)
- javascript设计模式之二——策略模式
- JavaScript设计模式(二)
- JavaScript-设计模式之接口的实现
- javascript的设计模式
- JavaScript设计模式(二) 惰性模式
- JavaScript设计模式之接口
- 【javascript】javascript设计模式
- JavaScript的“孙悟空”之72变
- javaScript的设计模式之单例模式
- javascript设计模式之new创建对象的安全模式
- 《JavaScript设计模式》神奇的JavaScript(一)
- Javascript设计模式 -- 灵活的javascript
- javascript设计模式(二)--闭包实现
- 学习JavaScript设计模式(二)
- javascript设计模式(二)-安全工厂方式
- JavaScript设计模式经典之外观模式
- 支持手势和触屏的PDF编辑控件——PDF Creator v5.0问世
- (java 基础知识)applet
- 关于集成ibatIS框架后 jdk版本升级引起的问题以及解决方案
- 判断系统是32位还是64位
- OpenCV函数cvDistTransform-距离变换
- JavaScript设计模式之二:百变的JavaScript
- 使用带dblink方式的datapump迁移Oracle 10g到11g
- Explaining java.lang.OutOfMemoryError: PermGen space
- 【女性健康】补血对于女性来说有着特殊的意义
- UIActionSheet cancel 按钮响应不灵敏
- source命令
- 使用claros inTouch 2.2的那些事之部署
- Linux软件的卸载
- struts1只能传长度大于1的参数问题