Java与JavaScript闭包有哪些本质差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1638个文字,预计阅读时间需要7分钟。
区别是:
1.JavaScript的闭包实际上是将定义在函数内部的函数作为值返回,因为子函数可以访问父函数的内部变量(因为子函数是父函数的闭包)。
2.Java的闭包可以将一个方法作为变量存储,这个方法可以访问创建它的对象的状态。
区别是:1、javascript的闭包其实就是定义在一个函数内部的函数(因为是子函数所以能够读取所在父函数的内部变量);2、java的闭包能够将一个方法作为一个变量去存储,这个方法有能力去访问所在类的自由变量。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
一、Javascript中闭包:
1.变量的作用域
要理解闭包,首先必须理解Javascript特殊的变量作用域。
变量的作用域无非就是两种:全局变量和局部变量。
Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量
var n=999; function f1(){ alert(n); } f1(); // 999
另一方面,在函数外部自然无法读取函数内的局部变量。
本文共计1638个文字,预计阅读时间需要7分钟。
区别是:
1.JavaScript的闭包实际上是将定义在函数内部的函数作为值返回,因为子函数可以访问父函数的内部变量(因为子函数是父函数的闭包)。
2.Java的闭包可以将一个方法作为变量存储,这个方法可以访问创建它的对象的状态。
区别是:1、javascript的闭包其实就是定义在一个函数内部的函数(因为是子函数所以能够读取所在父函数的内部变量);2、java的闭包能够将一个方法作为一个变量去存储,这个方法有能力去访问所在类的自由变量。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
一、Javascript中闭包:
1.变量的作用域
要理解闭包,首先必须理解Javascript特殊的变量作用域。
变量的作用域无非就是两种:全局变量和局部变量。
Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量
var n=999; function f1(){ alert(n); } f1(); // 999
另一方面,在函数外部自然无法读取函数内的局部变量。

