除非我弄错了(总是可能),否则所有Python变量都是完全相同的:对存储在别处的数据对象的引用。没有Python变量保存数据值,只有指向存储在其他地方的值的始终取消引用的指针。这意味着说x=3;x=“foo”是没有问题的,因为x只持有一个指针(所有指针的大小都相同),它从指向三开始,然后指针(不是3)被另一个指向字符串“foo”的指针覆盖。所有函数调用只复制传递给它们的参数中的指针,而不管它们指向什么。所有类型信息、不变性规则等都存储在所指向的数据对象中,而不是变量中。在

不过,我对Javascript变量感到困惑。我一直读到有两种类型的JS变量,基本的和对象的。基本数据类型(数字、字符串等)存储在变量本身中,而对象的引用存储在变量中,如Python。Java(不是JS)是这样的,但是Java变量有一个声明的类型,所以不能说“intx=3;x=”foo“,因为“intx”创建了一个定制为只保存int的内存

但是JS可以让你毫无怨言地说'var x=3;x=“foo”'。一块用来保存int的内存(不是指向int的指针而是int本身)怎么可能也保存任意字符串?这个JS'x'实际上是一个引用,只是假装持有int,还是重新分配会导致它在内存中改变位置,如果它需要保存一个不同的类型,或者什么?他们说字符串是JS中的基本数据类型,基本类型的值在传递给函数时会被复制,所以对于一个非常长的字符串,如果字符串被传递到一个函数中,而不是像“对象”类型那样传递给指针的两个副本,那么内存中是否存在该字符串的两个副本。递归会生成一个巨大字符串的大量副本吗?在

据我目前所知,可观察的行为最终会像Python一样,而且书中并没有明确区分实际发生的情况和有效的后果(在函数中重新分配变量不会改变调用方中的变量,等等)有人能澄清Javascript变量的真正、底层语义吗?在

python与javascript比较_Javascript变量语义与Python的比较相关推荐

  1. python 定义字典键为变量_在python字典中使用变量作为键名

    我今天来是因为我有同样的问题.我必须说,我对这些答案很失望!我同意你的观点,这种冗余应该有一个惯用的解决方案.在这种情况下,JavaScript似乎比Python更明智.所以我想增加两个建议. 首先, ...

  2. python读取数据库之给变量_使用Python和SQLite,如何将数据库中的项读入变量?

    我是一个编程初学者,想在学习SQLite和Python方面得到一些帮助.在 目前,我有一个名为状态.db"包含两列.这些列是"stamp".INT类型和"mes ...

  3. Python 技术篇-系统、环境变量配置后python不生效问题解决方法,python服务命令行重启方法

    重启 python 我们只需要执行一行命令就好了. import sys,os python = sys.executable os.execl(python, python, *sys.argv) ...

  4. python input输入多个变量_「Python 秘籍」1.2 解压可迭代对象赋值给多个变量

    问题 需要从某个可迭代对象中分解出 N 个元素,但是这个可迭代对象的长度可能超过 N,这会导致出现"需要解包的值过多(too many values to unpack)"的异常. ...

  5. python中 是什么类型_浅谈python中的变量默认是什么类型

    浅谈python中的变量默认是什么类型 1.type(变量名),输出的结果就是变量的类型: 例如 >>> type(6) 2.在Python里面变量在声明时,不需要指定变量的类型,变 ...

  6. Python和JavaScript的主要区别

    Python和JavaScript是网络开发中使用的重要语言.Python可用于后端开发,而JavaScript则可用于前端和后端开发.本文将分析这两种语言的主要区别. Python和JavaScri ...

  7. Python中的高阶变量

    Python中的高阶变量 文章目录 Python中的高阶变量 变量进阶 01. 变量的引用 1.1 引用的概念 1.3 函数的参数和返回值的传递 02. 可变和不可变类型 哈希 `(hash)` 03 ...

  8. python和javascript哪个好_JavaScript与Python:主要区别

    Python与JavaScript之间的主要区别在于它们的用法.Python有许多用途,包括数据科学和Web应用程序的后端.JavaScript主要用于Web应用程序的前端,很少在浏览器外部使用. P ...

  9. javascript和python的关系_JavaScript是否越来越像Python?

    首先,JavaScript本身就是一个借鉴了很多其它语言的杂糅体,JavaScript的创始人Brendan Eich曾戏称"它是C语言和Self语言一夜情的产物.".其次,随着现 ...

最新文章

  1. 前端:JS类型判断类库
  2. Django里面的sql查询语句
  3. extjs 在textfield后面加一个button_用python 做一个简单的MP3
  4. Java新职篇:多态性、封装性与继承性相互作用是什么?
  5. HTTP基础(图解HTTP笔记)幕布
  6. docker centos7_CentOS7及Docker配置中文字符集问题
  7. 《过程控制系统》习题整理
  8. pdf文件如何生成目录 wps_wps怎么制作pdf文档 wps快速制作pdf文档方法教程
  9. win10下安装Jekyll(rubyinstaller-devkit)
  10. linux设备驱动中的阻塞与非阻塞(二)
  11. c语言 教学大纲,C语言教学大纲 ).doc
  12. PostgreSQL 15 新特性解读 | 墨天轮优质文章合集
  13. 客户端开发 Windows驱动开发(1)SDK WDK DDK WDM的关系
  14. 微信服务商-小程序支付-商户传入的appid参数不正确,请联系商户处理
  15. HTTP引流工具Gor快速入门
  16. win10电脑耳机没有声音 如何在不重启电脑情况下耳机重新有声音
  17. 用户画像数据指标体系之用户消费维度
  18. 【智能合约】合约转账
  19. 如何构建可靠的台账数据——详解台账管理系统的使用方法
  20. 基于freeswitch的智能外呼1-自动外呼系统构建

热门文章

  1. ios点击大头针气泡不弹出_画家双手抖不停,画不了画丢了工作,却迎合抖动创造出一个个奇迹...
  2. 用友t3服务器文件丢失,用友T3软件在T3用友通标准版恢复账套时在备份的文件中找不到要恢复的文件,如何解决?-用友T3...
  3. linux怎么取消挂在u盘,linux下如何挂载U盘
  4. stm32 usb 虚拟串口 相同_为什么说你要学习USB?(一)
  5. 方形物体绕中心旋转的扭力_三维旋转
  6. 20220201--CTF刷题MISC方向--第5题
  7. 安装JDK-- Java基础
  8. c++怎么保存汉字_“的汉字 ”写作练习
  9. 2019ICPC南京网络赛A题 The beautiful values of the palace(三维偏序)
  10. Django的自带认证系统——auth模块