+ -
当前位置:首页 → 问答吧 → 闭包

闭包

时间:2010-12-31

来源:互联网

JScript code
//闭包
var i = 0;
function testCloruse(){
    alert(i)
     inner:function(){
         alert("inner")
            i++;
            return i;
       }    
    return inner;
    
}
testCloruse();
这段代码有什么错误没?

作者: minjun0901   发布时间: 2010-12-31

JScript code
        var i = 0;
        function testCloruse(){
            alert(i)
            inner = function(){
                alert("inner")
                i++;
                return i;
            }
            return inner;

        }
        testCloruse()();

作者: cj205   发布时间: 2010-12-31

程序可正常执行,调用testCloruse()返回的是inner这个function。注意是返回这个inner,而不是返回inner的执行结果。

作者: adverse   发布时间: 2010-12-31

ls 说的很对,但是我的目的显然是要返回 inner执行的结果。要怎么做?

作者: minjun0901   发布时间: 2010-12-31

单词写错了closure

作者: CaiKanXP   发布时间: 2010-12-31

引用 2 楼 adverse 的回复:

程序可正常执行,调用testCloruse()返回的是inner这个function。注意是返回这个inner,而不是返回inner的执行结果。
有个明显错误~~
为什么说可以正常执行呢~~

既然是想要执行结果 你为什么还这样return呢
 return inner()不是很好~

作者: cj205   发布时间: 2010-12-31

明显语法都错了
function testCloruse(){
  alert(i)
  inner:function(){

作者: showbo   发布时间: 2010-12-31

热门下载

更多