首页 > 其他分享 >作用域链demon练习

作用域链demon练习

时间:2023-12-16 17:46:05浏览次数:24  
标签:function console log 作用域 练习 demon var foo undefined

demon1

 function test(){
    console.log(b); //undefined
    if(a){
      var b = 100;
    }
    console.log(b) ////undefined
    c = 234;
    console.log(c) //234
  }

  var a;
  test();
  a = 10;
  console.log(c) //234

  // 分析
  // VO = {
  //   a: undefined, //10
  //   test: fun,
  //   c: 234
  // }

  // AO = {
  //   b: undefined
  // }

demon2

  var a = 1;
    function b() {
      console.log(a); //fun(a)
      a = 10;
      return;
      function a() { }
    }
    b()
    console.log(a) // 1

    VO = {
      a: undefined, // 1
      b: function () { }
    }

    AO = {
      a: function(){}, //10
    }

demon3

 console.log(foo); //function("C")
    var foo = "A";
    console.log(foo); //A
    var foo = function(){
      console.log('B'); //B
    }
    console.log(foo); //function("B")
    foo(); //B
    function foo(){
      console.log("C")
    }
    console.log(foo);  //function("B")
    foo(); //B

    VO = {
      foo: undefined, //function("C") // A  //function("B")
    }

demon4

var foo = 1;
    function bar(a){
      var a1 = a;
      var a = foo;
      function a(){
        console.log(a)
      }
      a1()
    }
    bar(3)

    VO = {
      foo: undefined, //1
      bar: function(){}
    }

    AO = {
      arguments: {
        a: 3,
        length: 1
      },
      a1: undefined, //function(){}
      a: undefined, //3 //function(){} //1
    }

标签:function,console,log,作用域,练习,demon,var,foo,undefined
From: https://www.cnblogs.com/crazy-rock/p/17905082.html

相关文章

  • python高级之名称空间和作用域
    名称空间与作用域补充知识栈区/堆区栈区:存放的是变量名与变量值的内存地址映射关系堆区:存放的是值真正的位置名称空间引入:1.什么是名称空间?-名称:定义的名字空间:存放名字的地方-名称空间即存放名字与对象映射/绑定关系的地方。-名称空间只是虚拟的概念......
  • 十、练习题
    练习题......
  • PTA-2023第十三次练习题目题解
    PTA-2023第十三次练习题目题解以下代码已做防抄袭处理,切勿抄袭。注意:手机端因为屏幕限制,代码会有(不希望的)换行。解决方案:1.建议使用电脑端打开。2.点击代码进入全屏观看。6-25实验9_5_反向打印字符串思路就是每次先找到字符串的最后一位,然后输出这一位,输出之后将这一位改为‘......
  • 记录--js小练习(弹幕、 电梯导航、 倒计时、 随机点名、 购物放大镜)
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助DOM小练习弹幕电梯导航倒计时随机点名购物放大镜1.弹幕效果预览功能:输入弹幕内容,按下回车显示一条弹幕(弹幕颜色、字体随机生成)思路:设置按钮抬起事件,在事件中判断如果按下的是回车键则将输入框中替换掉......
  • C练习题——打印两个数的最大公约数
    算法一:暴力求解(效率不够)#include<stdio.h>intmain(){inta=0;intb=0;scanf("%d%d",&a,&b);intmin=a<b?a:b;while(1){if((a%min==0)&&(b%min==0))break;......
  • C练习题——打印第n个斐波那契数
    斐波那契数列:1123581321...规律:从第三个数开始,第n个数为前两数之和#include<stdio.h>intmain(){intn=0;scanf("%d",&n);inta=1;intb=1;intc=1;while(n>=3){c=a+b;a=b;......
  • Day29 练习:打印三角形(For循环补充说明)
    练习:打印三角形packagecom.baixiaofan.struct;publicclassTestDemo01{publicstaticvoidmain(String[]args){//打印三角形五行/*for(表达式1;表达式2;表达式3){表达式4;}*///第一次循环:......
  • 牛客Java题目练习
    Java用监视器机制实现了线程之间的同步执行。byteb=(byte)129的值是-127,因为byte的存储数字范围为[-128,127],在计算机中,数值用补码表示,相当于一个环,因此是-127。一个Java源程序文件中定义几个类和接口,则编译该文件后生成几个以.class为后缀的字节码文件。错误,因为忽略......
  • 脚本案例练习
    Linux服务器超级实用的Shell脚本,建议收藏!原创 HC IT人家 2023-11-0522:21 发表于广东来自公众号:IT人家 Shell脚本是一种强大的工具,可以在各种领域中用于提高工作效率、简化任务和自动化常见工作流程。无论是系统管理、数据处理、任务自动化还是快速原型开发,She......
  • 函数/名称空间/作用域/闭包函数/函数对象
    函数【一】函数的定义函数的使用必须遵循先定义,后调用的原则def函数名(参数1,参数2,...):函数体return返回值函数名()(1)空函数函数体为pass代表什么都不做,称之为空函数定义空函数通常是有用的,因为在程序设计的开始,往往是先想好程序都需要完成什么功能,然后把......