YOU'VE MADE A BRAVE DECISION, WELCOME.

每一个不曾起舞的日子都是对生命的辜负。

作用域

#11.27学习记录

  • 变量作用域
    在JS中有两种变量,一种是局部变量,另一种全局变量。一般var定义的均为局部变量,只有在当前的作用与可以调用,不用var定义的变量一般为全局变量,在函数function中的var局部变量只能在函数内部使用,外面的用不了
  • 函数 函数有三种,函数表达式,声明函数,匿名函数,其中函数表达式可以在后面加上(),表示立即执行,但是声明函数却不可以这样,匿名函数可以在前面加上! + - 等符号转化为函数表达式(可能我理解的不正确)在后面加上()既可以立即执行,但是这种方式一般不推荐使用,最常用的还是(function())()这种写法最为正确,可以立即执行
function fn(){
var max = 10;
var fn2 = function(num){
     if(num>max){
         console.log(max)
         console.log(num)
         }
     }
     return fn2
     }
     var news = fn();
     news(20);

这段代码就是一个很绕的例子,其实下面的news就是执行过后的fn,fn有一个返回值return fn2 那么其实news就是fn2,news(20)就是fn2(20),那么num = 20,在控制台我们就会得到10和20两个数值。

   for (var i = 0; i < 100; i++) {
    (function(i){
       function aaa(){
           console.log(i)
       }aaa()

    })(i)
};

这个代码打印出来的就是0~99,其中外城的匿名函数就是起到保存I值得作用!