html - I need to create a backspace function for my calculator with javascript - Stack Overflow

I'm programming a simple calculator with javascript, and I'm finding it hard to make a correc

I'm programming a simple calculator with javascript, and I'm finding it hard to make a correct backspace function.

When the backspace button is clicked, I want it to remove the last character on the screen.

NB: I know I'm nowhere close to the correct solution, I'm a newbie, so go easy on me :D.

Here's my code:

// Clear and backspace  
            
            function clearAll() {
                if (control){
                    lastScreen = screenView.value;
                    screenView.value = 0;
                    alert("cleared!");
                }
            }
            
            function backSpace() {
                if (control) {
                    var newScreenView = [];
                    if (screenView.value != 0) {
                        screenViewLength = screenView.value.length;
                        for (i = 0; i < screenViewLength; i++) {
                            newScreenView.push(screenView.value[i]);
                        }
                        remove = newScreenView.length ;
                        console.log(newScreenView[remove]);
                        //screenView.value = newScreenView;
                    }
                
                alert("backspace");
                }
            }

I'm programming a simple calculator with javascript, and I'm finding it hard to make a correct backspace function.

When the backspace button is clicked, I want it to remove the last character on the screen.

NB: I know I'm nowhere close to the correct solution, I'm a newbie, so go easy on me :D.

Here's my code:

// Clear and backspace  
            
            function clearAll() {
                if (control){
                    lastScreen = screenView.value;
                    screenView.value = 0;
                    alert("cleared!");
                }
            }
            
            function backSpace() {
                if (control) {
                    var newScreenView = [];
                    if (screenView.value != 0) {
                        screenViewLength = screenView.value.length;
                        for (i = 0; i < screenViewLength; i++) {
                            newScreenView.push(screenView.value[i]);
                        }
                        remove = newScreenView.length ;
                        console.log(newScreenView[remove]);
                        //screenView.value = newScreenView;
                    }
                
                alert("backspace");
                }
            }

<input type="button" id="backspace_button" onclick="backSpace()" value="<="/>
Share Improve this question asked Aug 20, 2015 at 19:29 Samuel OkikeSamuel Okike 131 silver badge4 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 4

Just slice the string

screenView.value = screenView.value.slice(0, screenView.value.length -1)

function backSpace(){
    screenView.value = screenView.value.slice(0, - 1);
}

One liner right there!

Simply use substr method:

screenView.value = screenView.value.substr(0, screenView.value.length - 1)   

But if you hold the user input in a buffer:

buffer.pop()
screenView.value = buffer.join('')

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745577348a4634046.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信