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

Code zum Aktivieren von IE8 im IE7-Kompatibilitätsmodus

Das beliebteste Tag ist IE8 Browser-Anbieter geben...

Installations-Tutorial für die ZIP-Archivversion von MySQL 5.7

In diesem Artikel finden Sie das Installations-Tu...

Detaillierte Erklärung von MySQL Explain

Bei unserer täglichen Arbeit führen wir manchmal ...

Kennen Sie die seltsamen Dinge in Javascript?

Unsere erfahrenen Vorgänger haben zahllose Codes ...

Detailliertes Tutorial zur Installation der MySQL 8.0.20-Datenbank auf CentOS 7

Weiterführende Literatur: MySQL8.0.20-Installatio...

So zeichnen Sie eine Schaltfläche in XAML als Kreis neu

Beim Verwenden des XAML-Layouts müssen manchmal ei...

Anwendung und Implementierung des Datencache-Mechanismus für kleine Programme

Informationen zum Miniprogramm-Datencache Datenca...