Detaillierte Erläuterung des Prozesses zur Realisierung der Rechnerfunktion in Javascript

Detaillierte Erläuterung des Prozesses zur Realisierung der Rechnerfunktion in Javascript

1. Einführung in Rechnerfunktionen

Es ermöglicht die Addition (+), Subtraktion (-), Multiplikation (*), Division (/), Restoperation (%) sowie die Löschung (Del) und Löschfunktion (C) von Daten.

2. Design der Rechnerseite

1. Navigationsleiste

{
  "navigationBarBackgroundColor": "#fff",
  "navigationBarTextStyle": "schwarz",
  "navigationBarTitleText": "Rechner"
}

2. Datenteil

Daten:{
  // Nur die Anfangsdaten num: "1" werden in die Daten eingefügt,
  op:" "//Symbol für Aufzeichnungsoperation}

3. index.wxml Layoutseite

<Klasse anzeigen="Ergebnis">
    <view class="result-num">{{num}}</view>
    <view class="result-op">{{op}}</view>
</Ansicht>
<Ansichtsklasse="btns">
  <Ansicht>
    <view hover-class="bg" bindtap="reSetBtn">C</view>
    <view hover-class="bg" bindtap="delBtn">Entf</view>
    <view hover-class="bg" bindtap="opBtn" data-val="%">%</view>
    <view hover-class="bg" bindtap="opBtn" data-val="/">/</view>
  </Ansicht>
  <Ansicht>
    <view hover-class="bg" bindtap="numBtn" data-val="7">7</view>
    <view hover-class="bg" bindtap="numBtn" data-val="8">8</view>
    <view hover-class="bg" bindtap="numBtn" data-val="9">9</view>
    <view hover-class="bg" bindtap="opBtn" data-val="*">*</view>
  </Ansicht>
  <Ansicht>
    <view hover-class="bg" bindtap="numBtn" data-val="4">4</view>
    <view hover-class="bg" bindtap="numBtn" data-val="5">5</view>
    <view hover-class="bg" bindtap="numBtn" data-val="6">6</view>
    <view hover-class="bg" bindtap="opBtn" data-val="-">-</view>
  </Ansicht>
  <Ansicht>
    <view hover-class="bg" bindtap="numBtn" data-val="1">1</view>
    <view hover-class="bg" bindtap="numBtn" data-val="2">2</view>
    <view hover-class="bg" bindtap="numBtn" data-val="3">3</view>
    <Ansicht hover-class="bg" bindtap="opBtn" data-val="+">+</Ansicht>
  </Ansicht>
  <Ansicht>
    <view hover-class="bg" bindtap="numBtn" data-val="0">0</view>
    <view hover-class="bg" bindtap="doBtn" data-val=".">.</view>
    <view hover-class="bg" bindtap="opBtn" data-val="=">=</view>
  
  </Ansicht>
</Ansicht>

4. index.css-Style-Seite

Seite{
  Anzeige: Flex;
  flex-direction: column;/*Die Richtung der Hauptachse des Projekts*/
  Höhe: 100%;
}
.Ergebnis{
  flex: 1;/*Elemente gleichmäßig verteilen*/
  Hintergrund: #f3f6fe;
  Position: relativ;
}
.Ergebnis-Nummer{
  Position: absolut;/*Vaters Sohn ist tot*/
  Schriftgröße: 20pt;
  unten: 5vh;
  rechts: 3vw;
}
 
.Ergebnis-Op{
  Position: absolut;
  Schriftgröße: 15pt;
  unten: 1vh;
  rechts: 3vw;
}
.btns{
  biegen: 1;
  Anzeige: Flex;
  flex-direction: column;/*Die großen Ansichten im Inneren sind vertikal angeordnet*/
  Schriftgröße: 17pt;
  Rahmen oben: 1rpx durchgezogen #ccc;
  Rahmen links: 1rpx durchgezogen #ccc;
}
.btns>Ansicht{
  biegen: 1;
  Anzeige: Flex;
}
.btns>Ansicht>Ansicht{
  Flex-Basis: 25 %;/*Breitenverhältnis*/
  Rahmen unten: 1rpx durchgezogen #ccc;
  Rahmen rechts: 1rpx durchgezogen #ccc;
  box-sizing: border-box;/*plus das Rahmenverhältnis*/
  Anzeige: Flex;
  Elemente ausrichten: zentrieren;
  justify-content: center;/*Die beiden Sätze zusammen zentrieren den Text*/
}
.btns>Ansicht:letztes-Kind>Ansicht:erstes-Kind{
  Flex-Basis: 50%;
}
.btns>Ansicht:erstes-Kind>Ansicht:erstes-Kind{
  Farbe: #f00;
}
.btns>Ansicht>Ansicht:letztes-Kind{
  Farbe: #fcBe00;
}
.bg{
  Hintergrund: #eee;
}

5. Operationsergebnisse

3. Funktionaler Implementierungsteil

1. Löschfunktion

Die Funktion substr() hat zwei Parameter, der erste gibt die Startposition der Interception an und der zweite die Interception-Länge.

delBtn:Funktion(e){
    var num=this.data.num.substr(0,this.data.num.length-1);
    dies.setData({num:num===""? "0":num})
  }

2. Löschfunktion

 reSetBtn:Funktion(e){
    //Alles wird zum Anfangszustand. this.result=null;
    dies.isClear=false;
    dies.setData({num:"0",op:""})
  }

3. Weitere Funktionen

Daten:{
  // Nur die Anfangsdaten num: "1" werden in die Daten eingefügt,
  op:" "//Symbol für Aufzeichnungsoperation},
  Ergebnis: null,
  isClear:false, // wird verwendet um den Status aufzuzeichnen numBtn:function(e){
    var num =e.target.dataset.val //Holen Sie sich den Wert in data-val //Wenn Sie mehrmals 0 drücken oder isClear wahr ist, werden die Originaldaten gelöscht und die gedrückte Nummer wird angezeigt if(this.data.num==='0'||this.isClear){
      this.setData({num:num})//Gibt den erhaltenen Wert an result weiter
      dies.istKlar=false
    }anders{
        dies.setData({num:this.data.num+num})
    }
  },
 
  opBtn:Funktion(e){
    var op=this.data.op; //Zeichne zuerst die aktuelle Operation auf
    var num=Number(this.data.num);//Holen Sie sich die aktuellen Num-Daten this.setData({op:e.target.dataset.val});//Geben Sie die gedrückte Taste an die Variable op weiter
    if(this.isClear){//Denn wenn im obigen Vorgang der Operator gedrückt wird, ist isclear wahr. Um hier ein mehrfaches Drücken der Plus-Taste zu vermeiden, funktioniert es und kehrt dann zurück
      zurückkehren
    }
    this.isClear=true; //Wenn der Benutzer die Berechnungstaste drückt und dann eine Zahl eingibt, wird die ursprüngliche Zahl gelöscht, if (this.result===null) {
      dies.Ergebnis=Zahl;
      zurückkehren
    }
    wenn(op==="+"){
      dieses.Ergebnis=dieses.Ergebnis+Zahl
      this.setData({num:this.result})//Setze das hinzugefügte Ergebnis auf num
    }sonst wenn(op==="-"){
      dieses.Ergebnis=dieses.Ergebnis-num
    }sonst wenn(op==="*"){
      dieses.Ergebnis=dieses.Ergebnis*Zahl
    }sonst wenn(op==="/"){
      dieses.Ergebnis=dieses.Ergebnis/num
    }sonst wenn(op==="%"){
      dieses.Ergebnis=dieses.Ergebnis%num
    }
    this.setData({num:this.result+""})//In String-Typ konvertieren},
  doBtn:Funktion(e){
    if(this.isClear){//Dies bedeutet, dass die letzte Operation abgeschlossen ist. Wenn Sie am Anfang . drücken, this.setData({num:"0."});
      dies.isClear=false;
      zurückkehren
    }
    //Wenn Sie mehrmals drücken.
    wenn(this.data.num.indexOf(".")>=0){
      zurückkehren
    }
    //Normale Zahl, gefolgt von this.setData({num:this.data.num+"."})
  },

Dies ist das Ende dieses Artikels über den detaillierten Prozess der Implementierung von Rechnerfunktionen in JavaScript. Weitere relevante Inhalte zum JavaScript-Rechner finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Implementierung eines einfachen Altersrechners auf Basis von HTML+JS
  • Implementierung eines Web-Rechners mit nativem JavaScript
  • JavaScript implementiert einfache Rechnerfunktion
  • js-Version zur Realisierung der Rechnerfunktion
  • Natives JS zur Implementierung eines einfachen Rechners
  • Implementierung eines einfachen Rechners mit Javascript
  • Einen Web-Rechner mit Javascript schreiben
  • JavaScript-Beispiel – Implementieren eines Taschenrechners

<<:  Vorschläge zum Erstellen geschäftlicher HTML-E-Mails

>>:  Docker ermöglicht mehrere Port-Mapping-Befehle

Artikel empfehlen

Detaillierte Erklärung des MySQL-Überwachungstools mysql-monitor

1. Übersicht mysql-monitor MySQL-Überwachungstool...

So implementieren Sie ein Hover-Dropdown-Menü mit CSS

Wie üblich werde ich heute über einen sehr prakti...

Einführung in die Apache-Bereitstellung von https in der Kryptografie

Inhaltsverzeichnis Zweck Experimentelle Umgebung ...

Drei Möglichkeiten zum Erstellen eines Graueffekts auf Website-Bildern

Ich habe schon immer Graustufenbilder bevorzugt, d...

CSS3-Filtercode zum Erreichen des Grau- oder Schwarzmodus auf Webseiten

Frontend css3.filter kann nicht nur den Graueffek...

Beispielmethode zum Anzeigen von IP in Linux

Die Kenntnis der IP-Adresse eines Geräts ist wich...

React-Beispiel zum Abrufen des Werts aus dem Eingabefeld

Reagieren Sie auf mehrere Arten, um den Wert des ...

Einfache Schritte zum Konfigurieren des Nginx-Reverse-Proxys mit SSL

Vorwort Ein Reverse-Proxy ist ein Server, der übe...

Einfaches Beispiel für HTML-Textformatierung (ausführliche Erklärung)

1. Textformatierung: Dieses Beispiel zeigt, wie T...

So erstellen Sie eine Liste in CocosCreator

CocosCreator-Version: 2.3.4 Cocos hat keine Liste...