5.3 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			5.3 KiB
		
	
	
	
	
	
	
	
id, title, challengeType, isRequired, forumTopicId, localeTitle
| id | title | challengeType | isRequired | forumTopicId | localeTitle | 
|---|---|---|---|---|---|
| bd7158d8c442eddfaeb5bd17 | Build a JavaScript Calculator | 3 | true | 301371 | 构建一个 JavaScript 计算器 | 
Description
id="equals"属性的可以点击的元素,元素的文本内容为=(等于符号)。
需求 2:我的计算器应该包含 10 个具有如下 id 属性的可以点击的元素,每个元素的文本内容对应 0-9 的数字:id="zero"、id="one"、id="two"、id="three"、id="four"、id="five"、id="six"、id="seven"、id="eight"、id="nine"。
需求 3:我的计算器应该包含四个可以点击的元素,文本内容对应4个主要数学运算符,且应具有如下 id 属性: id="add", id="subtract", id="multiply", id="divide"。
需求 4:计算器应该包含一个可点击的`.`(小数点)符号,对应的id="decimal"。
需求 5:我的计算器应该包含一个具有id="clear"属性的可以点击的元素。
需求 6:我的计算器应该包含一个用于展示数值的元素,这个元素具有id="display"属性。
需求 7:在任何时候按下清除键,都会清空输入和输出的数值并且使计算器回到初始状态;此时在 id 为display的元素中应该显示数字 0。
需求 8:在我输入数字的同时,我应该能看到我输入的数字展示在 id 为display的元素中。
需求 9:我应该可以在任意顺序下对一串任意长度的数字执行加、减、乘、除操作,并且当我按下=时,正确答案应该显示在 id 为display的元素中。
需求 10:在我输入数字的同时,我的计算器应该允许一个数字以多个零开头。
需求 11:当点击小数点元素时,当前展示的数值后面应该添加一个.符号;数字中不允许出现两个.符号。
需求 12:我可以对包含小数点的数字执行任何四则运算(+、-、*、/)。
需求 13:如果连续键入了两个及以上的运算符,应该执行最后一次键入的运算符。
需求 14:如果在按下=符号后继续按一个运算符,则应该在上一次计算结果的基础上进行新的计算。
需求 15:当需要四舍五入时,我的计算器应该可以处理结果的精度(注意:处理到多少位没有一个准确的标准,但是你应该能处理类似2 / 7这样的计算,使之至少有 4 位小数的精度)。
注意计算器的逻辑:应当注意的是,计算器输入逻辑主要有两种思路:立即执行逻辑和公式逻辑。我们的示例使用公式逻辑并遵守运算优先顺序,而立即执行则不然。两者都是可以接受的,但请注意,根据你的选择,你的计算器对于某些算式可能会得到与我们不同的计算结果(参见下面的示例)。只要你的数学计算可以通过其他现实中计算器的验证,那么你的代码就是合理的。
示例:3 + 5 x 6 - 2 / 4 =- 立即执行逻辑:11.5
- 公式/表达式逻辑: 32.5
https://gitcdn.link/repo/freeCodeCamp/testable-projects-fcc/master/build/bundle.js。
一旦你完成了本项目并且该项目所有测试运行通过,请提交项目的 URL。
Instructions
Tests
tests: []
Challenge Seed
Solution
// solution required