文档章节

javascript 闭包, 函数字面量

邪云子
 邪云子
发布于 2013/10/28 11:01
字数 288
阅读 111
收藏 2

##常见Javascript定义函数:

在Javascript定义一个函数一般有如下方式:

// 函数关键字(function)语句:
function fun(x){alert(x);}

// 函数字面量(Function Literals):
var fun = function(x){alert(x);}

//Function()构造函数:
var fun = new Function('x','alert(x);')

上面三种方法定义了同一个方法函数fun,第1种就是最常用的方法,后两种都是把一个函数复制给变量fun,而这个函数是没有名字的,即匿名函数。

##闭包 先说说为什么 JS 可以闭包,因为 JS 的变量基于词法作用域。

动态作用域和词法域的区别是什么?

词法作用域

匿名函数,定义并执行

(function(args) {
   alert(args);
})('script'); 

匿名函数的链式调用

(function(args) {
    alert(args);
    return arguments.callee;
})(1)(2)(3);

闭包计数器

var uniqueInteger = (function(){
	var counter = 0;
	return function(){return counter++;};
}());

var al = function (){
	for(var i=0; i<10; i++){
		alert(uniqueInteger());
	}
}

al();

Javascript模块化编程(一):模块的写法

Javascript模块化编程(二):AMD规范

Javascript模块化编程(三):require.js的用法

JavaScript Module Pattern: In-Depth

向setTimeout传递函数参数

向setTimeout传递函数参数

Array.prototype.slice.call

© 著作权归作者所有

共有 人打赏支持
上一篇: 正则点滴
邪云子
粉丝 18
博文 120
码字总数 24684
作品 0
朝阳
程序员
私信 提问
javascript语言精粹 读书笔记

这是我目前度过最好的js方面的书,小而精,没有一句废话全是精华。想要全面理解javascript,这本书必读。 P6 避免使用 / /注释 建议使用// P17 对象字面量是一种方便指定新对象的表示方法。属...

lilugirl
2014/01/16
0
3
Javascript设计模式之--单例模式

在传统开发工程师眼里,单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。在JavaScr...

YouDoce
2012/07/30
0
0
深入学习JavaScript函数

前言: 函数对于任何一门语言来说都是核心的概念,通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。而JavaScript中最好的特性就是它对函数的实现。它几乎无所不能。但...

云中玉卷
05/02
0
0
《javascript语言精粹》读书笔记(二)

第三章 对象 javascript的简单类型包括数字、字符串、布尔值、null值和undefined值,其他所有的值都是对象。 javascript包含一个原型链特性,允许对象继承另一对象的属性。正确的使用它能减少...

倪闯
2015/03/12
0
2
探索Javascript设计模式---单例模式

最近打算系统的学习javascript设计模式,以便自己在开发中遇到问题可以按照设计模式提供的思路进行封装,这样可以提高开发效率并且可以预先规避很多未知的问题。 先从最基本的单例模式开始。...

戎马
08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

GROUP BY GROUPING SETS

GROUPING SETS 子句是 SELECT 语句的 GROUP BY 子句的扩展。通过 GROUPING SETS 子句,您可采用多种方式对结果分组,而不必使用多个 SELECT 语句来实现这一目的。这就意味着,能够减少响应时...

hblt-j
9分钟前
0
0
selenium之表格的定位

真的勇士, 敢于直面惨淡的warning、 敢于正视淋漓的error 目录 被测试网页的HTML代码 1.遍历表格所有单元格 2.定位表格中的某个元素 3.定位表格中的子元素 总结 浏览器网页常常会包含各类表...

程序猿拿Q
14分钟前
0
0
adb命令启动展讯平台工厂模式

adb命令启动展讯工厂模式: adb shell am start com.sprd.engineermode/com.sprd.engineermode.EngineerModeActivity...

东街小霸王
15分钟前
0
0
mtu值怎样设置才网速最快

一、什么是 MTU 值 1 从字面上来说,MTU 是英文 Maximum Transmission Unit 的缩写,即最大传输单元,它的单位是字节。 在我们常用的以太网中,MTU 一般是 1500,而无线路由器默认一般是 14...

Clarence_D
34分钟前
1
0
McAfee阻止邮件发送功能

自己写的邮件发送功能,在本地机器上可以发送,但是放到服务器上面之后就不能发送了,捕获到的异常是“以一个访问权限不允许的方式做了一个访问套接字的尝试”,找了很久,终于发现是被McAfe...

壹峰
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部