zoukankan      html  css  js  c++  java
  • JavaStrip和python的变量存储位置

    <script>
        var a =1
        function a() {
            console.log("sdfdsf")
        }
        a()
    </script>
    Uncaught TypeError: a is not a function

    原因在于javescript先定义了函数名(函数声明优先于变量声明),在定义变量名,所以先定义函数 a() ,有定义了 变量 a ,导致 a() 函数 被覆盖(解决:变量名不和函数名重复)

    a = 1
    def a():
        print("sdfsd")
    
    a()
    <<<sdfsd

    对于pyhton来说正常的自上而下定义

    a = {}
    b = c = a
    c["x"] ="y"
    print(a,b,c)    <<<{'x': 'y'} {'x': 'y'} {'x': 'y'}
    c = "d"
    print(a,b,c)  <<<{'x': 'y'} {'x': 'y'} d

    图示:

    三个变量指向同一个内存地址,任何一个变量对他们修改,都是修改的是同一个内存地址中的值

    <script>
        var a ={a:"1"}  //key 可以不加双引号
        var b = a
        a.x = a = {a:"2"}   //相当给字典添加了一个key(a) val({a:"2"}) 现在字典对象变成{a:"1",x:{a:"2"}},变量名a 指向--{a:"1"}  变量名b指向--{a:"1",x:{a:"2"}}
    
        console.log(a.x)   //undefined
        console.log(b.x)   //{a: "2"}
        console.log(a)     //{a: "2"}
        console.log(b)     //{a:"1",x:{a:"2"}}
    </script>

    图示:

  • 相关阅读:
    JavaScript高级程序设计之元素大小
    软件测试面试必备的一些基础理论概念
    golang跨平台编译
    gin shoudBind
    requests
    excelize
    gin获取全部参数
    golang随机数及pipe
    不安全代码只会在使用 /unsafe 编译的情况下出现
    MongoDB 比较运算符 $eq$gt
  • 原文地址:https://www.cnblogs.com/yanxiaoge/p/10488174.html
Copyright © 2011-2022 走看看