当命令行命令很重要时
When command line order matters?
我是编码新手,如果我使用了错误的术语,我很抱歉(请纠正我)。我正在做以下编码挑战:给定一个有多个值的数组,编写一个函数,返回一个只包含原始数组的最大值、最小值和平均值的新数组。
这是我第一次尝试时想到的代码:首次尝试
最终,我通过反复试验发现问题出在我的arrnew变量的位置上。我还修正了平均表达式,正确的算法是:正确的算法
我认为,由于最大值、最小值和平均值都在变化(有更好的术语吗?),var arrnew会获取这些新值,但显然不是这样。我想我的问题是行顺序什么时候重要?或者更具体地说,有什么简单的规则或原则我应该知道,以帮助我更好地理解命令行编码(我不知道这是否叫做命令行编码)。
感谢
执行此操作时:
var arrnew = [max, min, avg];
这将把max
、min
、avg
的内容的副本放入数组中。将来对max
、min
和avg
所包含内容的更改不会以任何方式影响阵列。
所以,如果你这样做;
var max = 3, min = 1, avg = 2;
var arrnew = [max, min, avg]; // 3, 1, 2
max = 5;
console.log(arrnew); // 3, 1, 2
注意,arrnew
的内容完全不受max
、min
或avg
所包含内容的后续更改的影响。这就是Javascript(以及大多数语言)的工作方式。
因为有编译器,编译器总是从上到下,所以总是尝试以有序的方式构建代码。
相关文章:
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 命令行中的Uglify js;不要弄乱变量名
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- 类似HTML命令行的文本框
- 节点JS express和控制台输出到命令行与浏览器
- 如何将.json文件作为参数导入.js文件并使用命令行启动它
- 最小化CSS/JS文件,并使用命令行创建一个文件
- 自动关闭或覆盖通过命令行打开的浏览器选项卡
- 如何在节点模块中从命令行运行函数
- 如何在命令行中运行/调试javascript
- 从命令行安装时出现错误
- 如何在启动 Web 驱动程序实例之前通过命令行在 conf.js 中传递设备名称
- 使用 Node.js 执行命令行二进制文件
- 我们可以通过命令行从flash导出到createjs吗
- 命令行上的输入在什么时候解析为 node.js 中的 process.argv
- 命令行上的Intern找到nodemailer,但没有找到它所需的模块
- node.js命令行工具
- JavaScript/HTML命令行小部件
- node.js错误:执行命令行命令时产生ENOSYS
- 当命令行命令很重要时