- 主题:javascript工作中什么情况下需要用到闭包来封装呢
稍微理解了一些javascript里闭包的用法,但还是不太明白闭包要在什么情况下使用。
按我自己浅显的理解,闭包好像是为了实现静态变量和能起到类似 Class 的作用。这样就能封装代码,让程序能按照面向对象的思路来编写。不知道我理解的对不对。
工作中大家运用闭包和封装做哪些工作呢
--
修改:bater FROM 121.56.11.*
FROM 121.56.11.*
可以看看Oreilly的<JavaScript设计模式>或者<javaScript模式>
用到的地方应该不会少。
【 在 bater 的大作中提到: 】
: 稍微理解了一些javascript里闭包的用法,但还是不太明白闭包要在什么情况下使用。
: 按我自己浅显的理解,闭包好像是为了实现静态变量和能起到类似 Class 的作用。这样就能封装代码,让程序能按照面向对象的思路来编写。不知道我理解的对不对。
: 工作中大家运用闭包和封装做哪些工作呢
--
FROM 124.65.195.*
多谢提供方向
【 在 dhcn (小石) 的大作中提到: 】
: 可以看看Oreilly的<JavaScript设计模式>或者<javaScript模式>
: 用到的地方应该不会少。
--
FROM 121.56.11.*
跟吃饭喘气一样不可避免
--
FROM 116.23.126.*
就是给一段算法一个独立的上下文
【 在 bater 的大作中提到: 】
: 稍微理解了一些javascript里闭包的用法,但还是不太明白闭包要在什么情况下使用。
: 按我自己浅显的理解,闭包好像是为了实现静态变量和能起到类似 Class 的作用。这样就能封装代码,让程序能按照面向对象的思路来编写。不知道我理解的对不对。
: 工作中大家运用闭包和封装做哪些工作呢
--
FROM 223.73.194.*
封装只是闭包的一个很小的应用。其实你只要写js就天天在用闭包。广义上讲,全局变量就是一个大全局作用域里的变量,你定一个函数,里面能访问全局变量,就是利用了闭包的特性。
var a;
function() {
// 可以访问到 a
var b;
function () {
// 可以访问到 a和b
}
}
按照我个人理解,凡是词法作用域的语言,都必须有闭包来实现词法作用域。
【 在 bater (Bater) 的大作中提到: 】
: 稍微理解了一些javascript里闭包的用法,但还是不太明白闭包要在什么情况下使用。
: 按我自己浅显的理解,闭包好像是为了实现静态变量和能起到类似 Class 的作用。这样就能封装代码,让程序能按照面向对象的思路来编写。不知道我理解的对不对。
: 工作中大家运用闭包和封装做哪些工作呢
: ...................
--
FROM 123.120.187.*
想起了..block formatting context ..
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 封装只是闭包的一个很小的应用。其实你只要写js就天天在用闭包。广义上讲,全局变量就是一个大全局作用域里的变量,你定一个函数,里面能访问全局变量,就是利用了闭包的特性。
: var a;
: function() {
: ...................
--
FROM 219.142.140.210
BTW 好像国内对闭包这个东西的理解普遍都很诡异,关键可能是翻译错了。closure就是“圈地运动”的那个“圈地”的意思,不是什么关闭、封闭的意思。closure本身就是说“内部定义的函数把外部环境里的变量也圈进了自己的访问范围”的意思
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: 想起了..block formatting context ..
--
FROM 123.120.187.*
以我目前肤浅的理解闭包是函数里实现static静态的方法,可以减少全局变量的滥用。
此外闭包还有什么用途呢?
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: BTW 好像国内对闭包这个东西的理解普遍都很诡异,关键可能是翻译错了。closure就是“圈地运动”的那个“圈地”的意思,不是什么关闭、封闭的意思。closure本身就是说“内部定义的函数把外部环境里的变量也圈进了自己的访问范围”的意思
--
FROM 121.56.9.*
A closure is a combination of a code block and data of a context in which this code block is created.
这个是specification
【 在 bater (Bater) 的大作中提到: 】
: 以我目前肤浅的理解闭包是函数里实现static静态的方法,可以减少全局变量的滥用。
: 此外闭包还有什么用途呢?
--
FROM 219.142.140.210