<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>

图示:

JavaStrip和python的变量存储位置的更多相关文章

  1. Java内存分配及变量存储位置实例讲解

    Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识.一般 ...

  2. java+内存分配及变量存储位置的区别[转]

    原文来自:http://blog.csdn.net/rj042/article/details/6871030#comments Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Jav ...

  3. java 中变量存储位置的区别

    1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.  2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字 ...

  4. Java:java+内存分配及变量存储位置的区别

    Java内存区分 Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分 ...

  5. (转)java 中变量存储位置总结

    1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符 ...

  6. java+内存分配及变量存储位置的区别

    Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识.一般 ...

  7. python变量存储

    变量的存储 在高级语言中,变量是对内存及其地址的抽象. 对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的只 ...

  8. python 基础之变量存储缓存机制与数据驻留小数据池

    一:变量存储的缓存机制 在同一文件(模块)里,变量存储的缓存机制 (仅对python3.x版本负责),那么 --对于Number (int bool float complex) 1.对于整型而言,- ...

  9. python变量存储和深浅拷贝

    python的变量及其存储 在高级语言中,变量是对内存及其地址的抽象.对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不 ...

随机推荐

  1. java代码示例(6-4)

    创建ChangePassword.java /** * 需求分析:修改用户密码 * @author chenyanlong * 日期:2017/10/15 */ package com.hp.test ...

  2. Linux Shell 笔记

    1.查看进程的环境变量 普通:$cat /proc/1642/environ  换行:$cat /proc/1642/environ | tr '\0' '\n' tr的命令格式是tr SET1 SE ...

  3. JVM总结(四):JVM类加载机制

    这一节我们来总结一下JVM类加载机制.具体目录如下: 类加载的过程 类加载过程概括 说说引用 详解类加载全过程: 加载 验证 准备 解析 初始化 虚拟机把描述类的数据从Class文件加载到内存,并对数 ...

  4. CodeForces - 896A Nephren gives a riddle

    A. Nephren gives a riddle time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  5. JAVA 并发编程学习(2)之基本概念

    1,是不是线程创建越多越好? 当一个程序创建了大量的线程时,活跃的线程会消耗内存.若可运行的线程数量多于可用处理器的数量,那么有些线程将闲置.大量空闲的线程会占用许多内存,给垃圾回收带来压力,而且大量 ...

  6. jQuery 选择城市,显示对应的即时时区时间

    因客户需要,我们CRM系统中,jQuery 弄个时区插件 如图: HTML: <div id="cityDate"> <i class="P_arrow ...

  7. Javaweb学习笔记——(五)——————DOM&XML目录

    1.表单提交方式 *使用submit提交 <form> <input type="submit" /> </form> *使用button提交表 ...

  8. pyqt5的安装

    第一步:需要安装:pip3 install pyqt5   安装工具:pip3 install pyqt5-tools 第二步:打开Pycharm,进入设置,添加外部工具 file-->sett ...

  9. 微信公众号JSAPI支付-多公众号向同一商户号支付的问题解决

    一.背景 项目提供公众号商城集成,在公众号里进行商品的购买,并与多家公众号合作增加渠道流量. . 二.实现 有关微信公众号.商户号的开通与支付绑定不细说 从背景里可知,我们需要实现多个公众号购买向同一 ...

  10. ubuntu16.04+anaconda的安装+解决conda不可用(配置路径)+卸载

    首先一点,之前我一直自己安装python,然后直接在python环境下再安装第三方库,但自从另一台电脑重装系统之后,我当时在没有python的情况下直接安装的anaconda,觉得她超级好用(所以如果 ...