javaScript学习day04——关于函数

关于函数


获取函数的类型

    function f1(){
        console.log("I'm function.");
    }
    console.log(typeof f1);

函数作为参数调用

一个函数被作为参数调用,那么这个函数就是回调函数

 1     function f2(fn){
 2         fn();
 3     }
 4 
 5     function f1(){
 6         console.log("I'm function.");
 7     }
 8     console.log(typeof f1);
 9 
10     f2(f1);//调用函数,f1不加括号

函数作为返回值使用

 1  function f3()
 2     {
 3         console.log("11");
 4         return function(){
 5             console.log("函数作为返回值");
 6         };
 7     }
 8     var f=f3();
 9     console.log(f);/*输出:ƒ (){
10                                 console.log("函数作为返回值");
11                             }*/
12     f();//输出:函数作为返回值

 


 

作用域

  全局变量:声明的变量是在函数外使用var声明的,那么就是全局变量,可以在页面的任何一个地方使用。

  局部变量:在函数内部定义的变量,出了函数就不能使用了

  隐式全局变量:声明的变量没有var,就叫隐式全局变量

  全局变量是不能被删除的,隐式全局变量是可以被删除的 

  定义变量使用var是不会被删除的,没有var是可以删除的

 

1 function f1(){
2     num=1000;//隐式全局变量
3 }
4 f1();
5 console.log(num);

 

  *全局变量如果页面不关闭,那么就不会释放,就会占内存、消耗空间

  所以少使用全局变量

 

  全局作用域:全局变量的使用范围

  局部作用域:局部变量的使用范围

 

  块级作用域:一对大括号就是一块,在这个块里定义的只能在这里使用;js里没有块级作用域

  


 

作用域链

 

 

posted @ 2020-09-12 13:36  _KKcoding  阅读(116)  评论(0编辑  收藏  举报