javascript闭包内部的函数一定要通过return来访问和返回函数内部的变量吗?

如题所述

不一定~!
例如:
var a;
function b(){
var i=0;

a=function(){ alert(i);}

};
b();//结果是什么?执行完就生成了一个 全局变量a引用的闭包,a引用的函数始终能取到b()内部变量i的值。没用return 访问和返回吧~!追问

但是这样a的意义又体现在哪里呢?

追答

a的作用就是产生闭包~!类似的还有事件如,函数内定义的window.onclick=function(){}等

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-09
1.访问函数内部的变量不需要return:
var bar;
function foo(x){
bar = function(){ console.log(++x); }
};
foo(5);
bar(); // 结果是6

2.返回函数内部的变量当然要用return本回答被提问者和网友采纳

Js 怎么调用(function () {里的函数?
需要通过return的方式把要调用的函数返回给外部。比如: var ta = (function(){\/\/定义一个闭包匿名函数。return function(){\/\/返回匿名函数内部的匿名函数给ta alert('1');} })();ta();\/\/执行ta,弹出信息1 补充:闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式...

js嵌套函数的内部函数使用了外部函数的变量就是闭包吗?
不是,还得返回内部函数才是闭包,比如: function outter(a){ var b=1;function inner(c){ var d=2;alert(a+b+c+d);} return inner;} var inner=outter(6);inner(8);

JS如何调用函数内部变量?
JS调用函数内部变量有以下两种方法:1、添加return返回值 var a = 5;function xxx(){ var a = 10; return a;}var b = xxx();\/\/这里的b就是10 2、闭包 var a = 5;function xxx(){ var a = 0; var ten = function(){ a = 10; return a; } return te...

JS闭包的概念
闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

怎么调用function函数
需要通过return的方式把要调用的函数返回给外部。比如: var ta = (function(){\/\/定义一个闭包函数。return function(){\/\/返回函数内部的函数给ta alert('1');} })();ta();\/\/执行ta,弹出信息1 补充:闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个...

javascript函数调用(js在函数里面调用函数)
JS函数如何调用别的函数变量。只要是被同一个html文件引用,那么他就是相通的直接使用就行,比如a.html同时引用b.js和c.js b.js写函数test()c.js可以直接调用test()如果html没有同时引用写两个,你可以自己在b.js中写document.write("scriptsrc='c.js'\/script");然后就可以调用函数了。

如何理解js中的闭包
只有通过变通的方法才能实现。那就是在函数内部,再定义一个函数。function f1(){var n=999;function f2(){alert(n); \/\/ 999}}在上面的代码中,函数f2就被包括在函数f1内部,这时f1内部的所有局部变量,对f2都是可见的。但是反过来就不行,f2内部的局部变量,对f1就是不可见的。这就是Javascript...

学闭包(closure),应该注意什么?
在JavaScript中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。词法(lexical)一词指的是,词法作用域根据源代码中声明变量的位置来确定该变量在何处可用。我对闭包的理解:闭包使得可以模拟私有项,可以使得内部函数可以访问外部函数的属性,非必要不用闭包。1.闭包使得内部函数可以访问外部函数的...

javascript的闭包是什么意思?有什么用?
下面让我们继续探索。\\x0d\\x0a\\x0d\\x0a二、闭包有什么作用?\\x0d\\x0a简而言之,闭包的作用就是在a执行完并返回后,闭包使得Javascript的垃圾回收机制GC不会收回a所占用的资源,因为a的内部函数b的执行需要依赖a中的变量。这是对闭包作用的非常直白的描述,不专业也不严谨,...

JS中的闭包是什么?
「函数」和「函数内部能访问到的变量」的总和,就是一个闭包。就这么简单。\\\\有的同学就疑惑了,闭包这么简单么?\\\\「我听说闭包是需要函数套函数,然后return一个函数的呀!」\\\\比如这样:functionfoo(){varlocal=1;functionbar(){local++;returnlocal;}returnbar;}varfunc=foo();func();这里面...

相似回答