Javascript 变量未在函数内更新

2024-01-03

let number = 100
 
function change(number) {
    number = number * 10;
}
 
change(number);
 
console.log(number);

上面的代码输出 100,而

let number = 100
 
function change(blah) {
    number = number * 10;
}
 
change(number);
 
console.log(number);

输出 1000
有人可以解释为什么当参数名称也是“number”时数字没有更新函数内的值吗?


第一个片段创建一个局部变量number作为隐藏同名外部变量的函数参数。

由于 JavaScript 是按值传递的,因此新变量会被赋值100。由于变量的作用域是函数change当您更新赋值时,函数作用域中定义的变量也会更新。

let number = 100
 
function change(number) {
    //This is the variable scoped to the function
    number = number * 10;
}
//This is the variable defined in the global scope
change(number);
 
console.log(number);

在第二个片段中,您正在更新number定义在函数外部change直接,因此您会看到更新的值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 变量未在函数内更新 的相关文章

  • 在 HTML5 Javascript 中将 BlobBuilder 转换为字符串

    function blobToString blob var reader new FileReader var d reader onloadend function d callback reader result console lo
  • 使用本地存储在从另一个表保存的 HTML TABLE 中打印 JSON,以便我在另一个页面上打印我的表

    在我的作业中 我必须使用用户输入中的数据并将数据保存在本地存储中 我必须以水平表格式将这些数据从本地存储打印到其他页面 为此 我编写了用于用户输入并将数据保存在本地存储中的代码 div p p div
  • JavaScript 添加布尔值

    console log true true 2 console log typeof true true number console log isNaN true true false 为什么两个布尔类型相加会产生一个数字 我有点理解 如
  • 如何在React Native Android中获取响应头?

    您好 我想在获取 POST 请求后获取响应标头 我尝试调试看看里面有什么response with console log response 我可以从以下位置获取响应机构responseData但我不知道如何获取标题 我想同时获得标题和正文
  • nodejs (libuv) 事件循环是否在一个阶段(队列)中执行所有回调,然后再进入下一阶段或以循环方式运行?

    我正在研究 Node js 中 libuv 提供的事件循环 我遇到了关注 Deepal Jayasekara 的博客 https blog insiderattack net event loop and the big picture n
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • 如何在网站上使用 svg 元素制作块的屏幕截图?

    我在网站上创建了一个构造函数 其本质是将所选元素及其颜色 svg中的元素 添加到访问者选择的背景和背景颜色 png中的背景 中 然后必须单击 保存 结果 按钮并仅执行工作区的屏幕截图 我写了这个脚本 但它需要屏幕截图 但只有背景 并忽略选定
  • ReactTransitionGroup 不适用于 React-redux 连接组件

    我正在开发一个更大的项目 但我创建了这个简短的示例来说明问题 如果我使用Box组件 它的工作原理 它在控制台中输出componentWillEnter and componentWillLeave当我们点击按钮时 如果我使用BoxConta
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • 使用 Google 日历源时如何禁用 FullCalendar 中的活动链接?

    我正在使用 FullCalendar 库从 Google 日历加载日历中的事件 不幸的是 事件添加到日历后 它们是可点击的 当您点击该活动时 您会自动重定向到 Google 日历页面以查看该特定活动 或者如果您有足够的访问权限 则可以直接对
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 使用javascript动态更新css内容

    需要将 css 更新为动态值 我不确定最好的方法是什么 div style zoom 1 div 缩放级别将根据窗口大小调整触发 应用程序将相应缩放 我将此应用程序加载到 cordova 中并让它在 iPAD 中运行 然后我意识到需要使用
  • 使用 Enzyme 测试 `React.createRef` api

    我想测试下面的类 它使用React createRef api 不过 快速搜索并没有发现任何这样做的例子 有人成功过吗 我该如何嘲笑裁判 理想情况下我想使用shallow class Main extends React Component
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011
  • 如何从 json 文件创建模型? (ExtJS)

    这是我想使用 json 文件创建的模型 Ext define Users extend Ext data Model fields name user id type int name user name type string 为了根据服
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • 进行缓冲区溢出利用时未获取 root shell

    我正在学习 Linux x86 二进制文件中的缓冲区溢出漏洞 我正在执行经典的堆栈粉碎 通过禁用 ASLR 并通过禁用 NX 位和堆栈金丝雀来编译二进制文件 从而在 Ubuntu 12 04 VM 中生成根 shell 在执行期间 返回地址
  • 如何让显示器处于待机状态而不让它被唤醒

    我有 3 个显示器 但我不需要它们一直打开 我可以用电源按钮关闭它们 但我想使用它们的待机模式 就像 Windows 当我们让电脑闲置一段时间时所做的那样 它会关闭显示器 硬盘等 但当然 我想继续使用电脑 让显示器处于待机状态 其他人必须保
  • 使用 UIPanGestureRecognizer 更新约束

    我在屏幕中间有一个黑色的分隔符视图 分隔顶部容器视图 橙色 和底部容器视图 绿色 可以使用 panGesture 上下拖动分隔符视图 但我无法获取顶部和底部视图来更新其约束并调整大小 橙色视图的底部和绿色视图的顶部应始终与separator
  • TFHppleElement (Hpple),在 iphone 上解析 HTML

    我正在使用 Hpple 到目前为止它非常棒 但是我想将所有 div 放入另一个中 我可以做到 但随后我无法进一步解析内容 innerHTML 在源代码中它被标记为innerHTML而不是innerText 询问元素内容不会返回任何内容 因为
  • XML 解析错误:为什么需要分号? [复制]

    这个问题在这里已经有答案了 我是一名新手 正在努力尝试将 XML 从外部第三方导入 SQL Server 我用下面的 XML 尝试了这个 SQL 它在名称标签中间出现了 XML 解析 第 10 行 第 81 字符 需要分号 为什么 为什么它
  • 如何在 python 中绘制半对数图? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 python 中绘制半对数图 X 轴为对数 y 轴为线性 目前我正在绘制相位与欧米伽的关系 其中我需要 y 轴是线性的 而 x
  • Android 内存泄漏,EMA 怀疑:“byte[]”由“<系统类加载器>”加载

    我正在编写一个小型的单活动 Android 应用程序 并遇到内存泄漏错误 为此我找不到来源 首先 该应用程序计算基本内容并以结构化方式显示结果 计算很简单 虽然有一些图像 但它们大约有 50 个图标 总共不到 4MB 我已经安装了 Ecli
  • 将字符串文件转换为json格式文件

    好吧 假设我有一个名为 string txt 的字符串文本文件 我想将其转换为 json 文本文件 我应该做什么 我尝试过使用 json loads 但它对我不起作用 这是我的文本文件的一部分 rdian id 16142867056665
  • 使用 linq 更新对象的性能更好

    我有两个自定义对象列表 如果另一个列表中存在与另一对字段匹配的对象 则希望更新一个列表中所有对象的字段 这段代码更好地解释了问题并产生了我想要的结果 然而 对于较大的 20k 列表以及包含匹配对象的 20k 列表 这需要相当长的时间 31
  • Maven:在一个阶段运行插件两次,与另一个插件交错

    对于我们的端到端测试 我们需要执行以下逻辑流程 在数据库中创建并设置 e2e 架构 用户 pre integration test 运行 Liquibase 以最初填充架构 pre integration test 将特定于 e2e 的测试
  • Laravel withCount() 子查询

    如何在 withCount 上运行子查询 我有一个查询要运行多个计数 每个计数都有自己的子查询 这是我正在寻找的示例 date from Carbon parse 1 1 2018 date to Carbon parse 1 2 2018
  • 在 ASP.NET 中使用 SQL 代替 RESX 文件进行本地化

    我正在考虑开发以下内容 但想知道它是否已经存在 我需要一个基于 SQL 的解决方案来为 asp net 站点分配和管理本地化文本值 而不是使用 RESX 文件 这有助于维护网站上的文本 而无需在需要更新时将其删除以进行部署 Thanks 我
  • 如何使用 couchdb-lucene 在 CouchDB 中索引数组(标签)

    设置 我有一个使用 CouchDB 的项目 这些文档将有一个名为 标签 的字段 这个 tags 字段是一个字符串数组 例如 tags tag1 tag2 etc 我使用 couchdb lucene 作为我的搜索提供程序 问题 可以使用什么
  • 开发模式下的 GET + App Engine 应用程序在本地网络上不可用

    我正在开发一个 GWT AppEngine 应用程序 一切正常 除了当我在开发模式下运行它时 该应用程序对本地网络上的机器不可见 即使在本地机器上http localhost 8080 应用程序 http localhost 8080 ap
  • Linkedin V1 update-comments-as-company api 抛出 500 错误代码

    我们正在使用 Linkedin v1 apiupdate comments as company代表用户管理的公司页面发布评论的端点 如今 此端点在尝试添加评论时会抛出 500 错误响应 请求示例 curl X POST H Authori
  • 用基本控制器进行 Ninject?

    我想知道当你有一个基本控制器时 如何使用 ninject 2 0 进行构造函数注入 I have private readonly IBaseService baseService public BaseController IBaseSe
  • 自动滚动回收器视图滑块

    我是 Android 开发新手 我正在尝试创建一个自动滚动 recyclerview 滑块 它还支持用户事件 例如下一个和上一个按钮以及手动滚动 Something like this 我已经实现了recyclerview和按钮事件处理 但
  • 抑制tensorflow-metal初始化消息

    我有一台 macbook pro m1 max 并通过安装了tensorflow张量流 苹果 下载 https developer apple com metal tensorflow plugin 每次运行使用 keras 或 tenso
  • 了解 PropertyChanged 机制的工作原理(工作流程)

    澄清 1 我不知道如果它有一个特定的名称或单词来用英语或编程俚语引用它 那么这可能是重复的帖子 因为我无法查看它 2 我对这些东西完全是新手 我从未使用过处理程序 所以这是问题的一部分 我试图理解如何NotifyPropertyChange
  • Javascript 变量未在函数内更新

    let number 100 function change number number number 10 change number console log number 上面的代码输出 100 而 let number 100 fun