javascript - d3.js 前置加号

标签 javascript d3.js

<分区>

我是 Javascript 的新手,我正在使用 d3.js 进行可视化。我知道运算符的含义和连接,并且读过 + 符号可以执行将右侧操作数更改为 + 符号的数值,但是我对 force.gravitygravity = +x; 行的作用感到困惑,因为 x 已经是一个数值(已经是一个整数)。我已经用负数和正数进行了测试,它似乎只是返回我通过 x 传递的值,我确实通过了 if 语句供我使用。然而,如果我使用 -x 那么它会改变符号。谁能解释一下 +&- 发生了什么,以及为什么该函数基本上只返回我传递的内容。

force.gravity = function(x) {
  if (!arguments.length) return gravity;
  gravity = +x;
  return force;
};

最佳答案

它导致传入的对象 x 转换为数字。如果传入一个字符串,它将在设置 gravity 之前尝试将其转换为数字。

例如,调用 force.gravity('1'); 与调用 force.gravity(1); 的结果相同。

参见 javascript: plus symbol before variable .

关于javascript - d3.js 前置加号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31866125/

相关文章:

java - 如何在选择同一 div 中存在的下拉列表时在 div 末尾附加动态生成的 HTML 表格?

javascript - 使用 jQuery 编辑innerHTML()

javascript - D3 : change font size of axis labels

javascript - 无论如何要将 &lt;title&gt; 链接到 <div>?

javascript - 如何使用 javaScript 文件作为其他 JavaScript 文件的高阶包装器

javascript - 是否可以在一个 webpack.config 中打包两个不同的模块?

javascript - d3 js 时间轴稍微偏离/倾斜/移动

javascript - 获取计算的直方图 bin 阈值

javascript - D3.js v7 - 如何使可滚动图表的 Y 轴标签始终显示在屏幕上

javascript - 对单行代码使用匿名函数有什么意义?