--- id: bd7158d8c442eddfaeb5bd17 title: Build a JavaScript Calculator challengeType: 3 isRequired: true videoUrl: '' localeTitle: 构建JavaScript计算器 --- ## Description
目标:构建一个功能类似于此的CodePen.io应用程序: https //codepen.io/freeCodeCamp/full/wgGVVX 。完成以下用户故事并通过所有测试。给它你自己的个人风格。您可以使用HTML,JavaScript,CSS,Bootstrap,SASS,React,Redux和jQuery的任意组合来完成此项目。您应该使用前端框架(例如React),因为本节是关于学习前端框架的。不建议使用上面未列出的其他技术,使用它们的风险由您自行承担。我们正在寻求支持其他前端框架,如Angular和Vue,但目前不支持它们。我们将接受并尝试修复所有使用建议的技术堆栈的问题报告。快乐的编码! 用户故事#1:我的计算器应包含一个可点击的元素,其中包含= (等号),对应的id="equals"用户故事#2:我的计算器应该包含10个可点击的元素,每个元素包含一个0-9的数字,并带有以下相应的ID: id="zero"id="one"id="two"id="three"id="four"id="five"id="six"id="seven"id="eight"id="nine"用户故事#3:我的计算器应该包含4个可点击的元素,每个元素包含4个主要数学运算符之一,并带有以下相应的ID: id="add"id="subtract"id="multiply"id="divide"用户故事#4:我的计算器应该包含一个包含a的可点击元素. (小数点)符号,对应id="decimal"用户故事#5:我的计算器应包含一个id="clear"的可点击元素。 用户故事#6:我的计算器应包含一个元素,用于显示具有相应id="display"用户故事#7:任何时候,按清除按钮清除输入和输出值,并将计算器返回到初始化状态; 0应该显示在id为display的元素中。 用户故事#8:当我输入数字时,我应该能够在display id的元素中看到我的输入。 用户故事#9:无论如何,我应该能够对任意长度的数字链进行加,减,乘和除,当我点击= ,正确的结果应显示在带有display id的元素中。 用户故事#10:输入数字时,我的计算器不应允许数字以多个零开头。 用户故事#11:单击小数元素时,a .应附加到当前显示的值;二.一个号码不应被接受。 用户故事#12:我应该能够对包含小数点的数字执行任何操作(+, - ,*,/)。 用户故事#13:如果连续输入2个或更多操作员,则执行的操作应该是最后输入的操作员。 用户故事#14:紧跟在=按操作员应该开始一个新计算,该计算对先前评估的结果进行操作。 用户故事#15:我的计算器应有的精度几位小数,当谈到四舍五入(注意,目前还没有确切的标准,但你应该能够处理这样的计算2 / 7合理精确到至少4位小数) 。 关于计算器逻辑的注意事项:应该注意的是,计算器输入逻辑有两种主要的思想流派: 立即执行逻辑公式逻辑 。我们的示例使用公式逻辑并遵守操作优先顺序,而立即执行则不然。两者都是可以接受的,但请注意,根据您的选择,您的计算器可能会产生与我们的计算结果不同的某些公式(参见下面的示例)。只要您的数学可以通过其他生产计算器进行验证,请不要将此视为错误。 示例: 3 + 5 x 6 - 2 / 4 =
您可以通过分叉此CodePen笔来构建项目。或者您可以使用此CDN链接在您喜欢的任何环境中运行测试: https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.jshttps://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js完成后,将URL提交给您的工作通过所有测试的项目。如果卡住,请记住使用Read-Search-Ask方法。
## Instructions
## Tests
```yml tests: [] ```
## Challenge Seed
## Solution
```js // solution required ```