[英]Calculator backspace button
我试图找出我的代码有什么问题,因为当我尝试删除 1 个号码时,它最初被删除,但是当我单击另一个号码时,它再次显示在显示屏上,好像它没有被删除。 我已经尝试了我所知道的一切,但它不起作用!
function backspace() {
var number1 = document.getElementById("display").value
var number1 = (document.getElementById("display").value = number1.substr(
0,
number1.length - 1
))
refresh()
}
function refresh() {
document.getElementById("display").value = number1
}
提前致谢!
您需要使用:
function backspace() {
var number1 = document.getElementById("display").value;
number1 = number1.substring(0, number1.length - 1);
refresh()
}
- - 或者 - -
function backspace() {
var number1 = document.getElementById("display").value;
number1 = number1.slice(0, -1);
refresh()
}
来源: https : //tecadmin.net/remove-last-character-from-string-in-javascript/
number1
被修改了,但是不在函数refresh
的范围内
代码需要重构和明确选择变量名。
代码存在范围问题
function backspace() {
var number1 = something //declared here
}
function refresh() {
//number1 is not accessible here :(
}
var number1 =.....
var number1 =......
请一直使用let
而不是var
:)
将number1
作为所有变量的名称是一个非常糟糕的主意。
更好的方法如下:
function backspace(){
let displayValue = .....
let changedValue = .....
}
一旦您更改了变量名称,您可能会注意到您实际上并没有修改“真实”数字,您只是在修改 DOM(或 HTML)中的值
试试这个形状
function backspace() {
var number1 = document.getElementById("display").value
number1 = number1.slice(0,-1))
}
function refresh() {
backspace()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.