猿问

为什么getValue()得出的是123?

    var getValue,setValue;

    (function(){

      var secret=0;

      getValue=function(){

        return secret;

      };

      setValue=function(v){

        if(typeof v==="number"){

          secret=v;

      }

    };

  }());

  

  getValue();//0

  

  setValue(123);

  getValue();//123

        

  setValue(false);

  getValue();//123


绝地无双
浏览 531回答 1
1回答

qq_笑_17

getValue()和setValue()为闭包, 共享一个变量 secret, 所以在setValue函数中更改了secret,getValue()读取secret当然会随之改变.
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答