webveuje/zuoye/js/预编译作用域.md
2021-06-03 10:52:41 +08:00

3.5 KiB
Raw Blame History

预编译作用域练习

  1. 下面代码的执行结果是什么为什么

    console.log(x)
    x=5
    
  2. 下面代码的执行结果是什么为什么

    console.log(x)
    var x=5
    
  3. 下面代码的执行结果是什么 为什么

    var x = 5;
    console.log(x+""+y)
    var y=5
    
    
  4. 下面代码的执行结果是什么 为什么

    "use strict";
     x = 3.14; 
    
  5. 下面代码的执行结果是什么 为什么

"use strict";
 myFunction();

 function myFunction() {
     y = 3.14;   // 报错 (y 未定义)
 }
  1. 为什么要使用严格模式

  2. 总结严格模式的限制

  3. 下面代码的执行结果是什么 为什么

    var x = 0.1;
     var y = 0.2;
     var z = x + y 
     console.log(z==0.3)
    
  4. js有几种类型的作用域 分别是啥

  5. 下面代码的执行结果是什么 为什么

    
        function myFunction() {
            var carName = "porsche";
    
            console.log(carName)
    
        }
    
    
  6. 下面代码的执行结果是什么 为什么


    function myFunction() {
        var carName = "porsche";
    }
     console.log(carName)
    
  1. js运行三部曲是

  2. 任何变量如果未经声明就赋值 此变量是

  3. 一切声明的全局变量 全是 的属性

  4. 分析下面代码 的预编译执行过程

    var x = 1,
        y = z = 0;
    
    function add (n) {
      return n = n + 1;
    }
    
    y = add(x);
    function add (n) {
      return n = n + 3;
    }
    
    z = add(x)
    
  5. 函数预编译的步骤

  6. 全局预编译的步骤

  7. 分析下面代码的预编译执行过程

    function fn(a){
        console.log(a);
        var a = 123;
        console.log(a);
    
        function a(){};
        console.log(a);
    
        var b = function(){};
        console.log(b);
    
        function d(){};
     }
    
     //调用函数
     fn(1);
    
  8. 分析下面代码的预编译执行过程

    var a = 1;
    console.log(a);
    function test(a) {
      console.log(a);
      var a = 123;
      console.log(a);
      function a() {}
      console.log(a);
      var b = function() {}
      console.log(b);
      function d() {}
    }
    var c = function (){
    console.log("I at C function");
    }
    console.log(c);
    test(2);
    
  9. 为什么会发生变量提升

  10. 下面代码的执行结果是什么 为什么

    fun();
    console.log(b);
    var b = function fun(){  
        var a = 456;
        console.log(a);
    }
    
    
  11. 下面代码的执行结果是什么 为什么

console.log(b);
var b = function fun(){  
    var a = 456;
    console.log(a);
}
fun();

  1. 什么是执行期上下文

  2. js中有哪几种执行期上下文 分别介绍

  3. 分析下面代码的预编译执行过程

    global = 100;
    function fn() {
      console.log(global);
      global = 200;
      console.log(global);
      var global = 300;
    }
    fn();
    var global;
    
  4. 分析下面代码 预编译执行过程

    function test() {
      console.log(b);
      if (a) {
        var b = 100;
      }
      c = 234;
      console.log(c);
    }
    var a;
    test();
    a = 10;
    console.log(c);
    
    作者:前端布吉岛
    链接https://juejin.cn/post/6933756598678454280
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。