文章目录
  1. 1. javascript预解析还有作用域
    1. 1.0.1. 1.javascript预解析还有作用域.
    2. 1.0.2. 2.javascript分为全局作用域、局部作用域(函数).
    3. 1.0.3. 3.匿名函数、函数表达式、声明函数.
    4. 1.0.4. 4.()执行运算符的运用.
    5. 1.0.5. 5.return的用法,函数参数的解析.
    6. 1.0.6. 6.每个函数都有自己的默认返回值是undefined;return的默认返回值是undefined.
  2. 1.1. js运行前浏览器的准备工作:

我是一只可爱的单身狗,美女,约嘛?

javascript预解析还有作用域

1.javascript预解析还有作用域.

2.javascript分为全局作用域、局部作用域(函数).

3.匿名函数、函数表达式、声明函数.

4.()执行运算符的运用.

5.return的用法,函数参数的解析.

6.每个函数都有自己的默认返回值是undefined;return的默认返回值是undefined.

js运行前浏览器的准备工作:

  1. 把变量,函数表达式的声明提升到当前的作用域顶端
  2. 把函数赋值
  • if(){};

    //全局作用域
    
  • for(var i=0;i<100;i++){};

    //全局作用域
    
  • function fn(){};

    //只有用函数可以造成局部作用域
    
  1. 函数表达式 就是使用function关键字,没有函数名,赋值给一个变量的函数

    var f=function(){  //函数表达式
        console.log('haohao')
    }
    f();
    
  2. 函数表达式有两个形式:一个声明变量 一个是匿名函数

  • 声明函数或函数声明 是使用function关键字+函数名声明的函数

    function fn(){    //声明函数
        console.log('123')
    }
    fn();
    
  • 匿名函数 就是使用function关键字但是没有函数名的函数

    function(){  //匿名函数
                console.log();
            };
    
  1. 区别:函数表达式可以使用()操作符,立即执行;函数声明不可以

    function test(){
        var j=function(){
            console.log('123');
        }();
        function jj(){
            console.log('456');
        }
    }
    test();
    
  2. ()();第一个()把匿名函数定义成函数表达式,第二个()表示执行

    (funtion(num){
        console.log(num);
    })(10);
    

1.全局变量可以在任何地方访问

2.函数内部的变量,对外部是不可见的

3.函数内部可以访问外部函数的变量

如有不全,请多指教!

文章目录
  1. 1. javascript预解析还有作用域
    1. 1.0.1. 1.javascript预解析还有作用域.
    2. 1.0.2. 2.javascript分为全局作用域、局部作用域(函数).
    3. 1.0.3. 3.匿名函数、函数表达式、声明函数.
    4. 1.0.4. 4.()执行运算符的运用.
    5. 1.0.5. 5.return的用法,函数参数的解析.
    6. 1.0.6. 6.每个函数都有自己的默认返回值是undefined;return的默认返回值是undefined.
  2. 1.1. js运行前浏览器的准备工作:
Fork me on GitHub