Javascript-Funktion für boolean zurückgibt
Ich habe einige Probleme bekommen, einen richtigen boolean zurück auf Abschnitt 4.1 der Codecademy Javascript-tutorial. Hier ist der code:
//Define quarter here.
var quarter = function(n) {
if (n / 4 ){
return true;
} else {
return false;
}
};
if (quarter(4) === 1) {
console.log("The statement is true.");
} else {
console.log("The statement is false.");
}
Aus, was ich sehen kann, leite ich die neu definierte Quartal Variablen eine Funktion mit einem parameter "n", dass ich dann dividieren Sie diese durch 4, um zu sehen, wenn es gibt 1 für true oder 0 (sonst) für falsch. Ich bin mit dem 'Viertel' - Funktion in eine if-Schleife zu prüfen, für die Gleichheit von 1 die Zahl " 4 " zu übergeben, als 'n'.
Ich gehe davon aus das einige grundlegende Logik, die ich einfach nicht genutzt (als Frontend-Entwickler suchen, um in JavaScript-Programmierung), aber ich würde auf jeden Fall zu schätzen wissen, einige Gedanken und Leitlinien.
InformationsquelleAutor Matt Zelenak | 2012-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
In JavaScript, die Konstanten
true
undfalse
sind nicht zahlen; Sie sind eine separate Art.Darüber hinaus sind Sie im Vergleich mit
===
- und das wird explizit zu verhindern, dass Typ-Konvertierung während der Vergleich.Beachten Sie, dass
n /4
wirdtrue
(nicht-null) für alle Werte von "n" außer 0 (Bearbeiten Sie meinte wahrscheinlich verwenden%
). Und im Allgemeinen, jede Konstruktion von der form:kann ersetzt werden durch:
oder, alternativ,
zurück !!(Ausdruck); ist ziemlich schrecklich Verknüpfung zu boolean-Konvertierung aber immer noch nette Antwort
Naja, es ist nicht wirklich "schrecklich", es ist nur idiomatisch. Aber chacun son goût 🙂
InformationsquelleAutor Pointy
Ändern Sie Ihre wenn-Anweisung, um konsistent sein, da 1 != wahr. Der triple entspricht wird es nicht zulassen.
Ihre Funktion ist ebenfalls falsch, ich denke, Sie wollen etwas mehr wie diesem zurück zu kehren, wenn es teilbar durch 4:
Dieser kann verkürzt werden:
Ja, dieser code entspricht - das % - symbol wird ein return 0 ODER NICHT 0 ist. Alle positiven ganzen zahlen interpretiert wird als TRUE und 0 ist false. So ist es gleichwertig
Oh, das ist großartig. Das Kürzel macht definitiv mehr Sinn. Danke!
InformationsquelleAutor Developer
Mit
===
bedeutet, dass Sie Fragen, für eine "strenge " equals" - nicht truthy oder falsey. Das heißt, Sie können nicht überprüfen, eine Zahl, denn eine Zahl ist nicht unbedingttrue
. Sehen diese Frage ALSO für mehr details.Den aufrufenden code sollte entweder nach
=== true
oder einfach überspringen, die expliziten Wert zu vergleichen, und nur seinif (quarter(4)) { ...
.InformationsquelleAutor Dave Newton
Konnte nicht finden, eine Antwort auf, dass hier gearbeitet, so dass ich davon ausgehen das ich gerade verpasst. Ich finde auch, dass man beim Googeln nach Lösungen, die alles noch schlimmer machen für mich.
Ich Neige zu finden, dass ich overthink die Lösungen in Javascript, und dies führt zu einer Unfähigkeit zur Lösung der Lösungen.
Du auch nicht unbedingt die
return true
, aber ich habe es sowieso.Nur daran erinnern, dass logisch bestellt Einfachheit ist der Schlüssel.
Ich hoffe, das funktioniert für Sie.
Ich werde meinen mangelnden JavaScript-Fähigkeit und das wissen zu erklären, das für Anfänger wie mich, und Sie. Und wer hat ein extremes wissen von JavaScript wird wahrscheinlich nicht Zustimmen, aber es ist auch, warum die meisten Programmier-Arbeitgeber wird eine Kommunikation über große Programmierer anyday:
Die Funktion ist, die definiert wird als
Der Wert ist Anzahl.
Sie führen dann eine neue var definiert den Wert mit
True zurück, und beginnen Sie die if-Anweisung,
lautet nun Quartal, die Funktion, die Sie definiert.
Der Grundlage der Bereitstellung einer korrekten Gleichung setzt auf it true " zurückgeben in form von
Sie tun dies, indem dann die Definition n mit einer Zahl, die geteilt wird 4, und dann diese Zahl werden kann, geteilt durch 3 ohne Rest.Da Anzahl
definiert wurde als
, Mit n definiert als 48 in diesem Beispiel:
und
für die if /else - Anweisung.
Zu bringen, einen Rest von 0 nach der Division durch 3,
.
ist nunmehr die definierte Funktion Quartal.
ist ein parameter, und weisen Sie den Wert des Parameters mit Variablen,
und
.
In diesem Sinne, als ich Schreibe dies, würde dies theoretisch auch funktionieren und wird kürzer:
InformationsquelleAutor Gabriel_Student_Innovated
Okay, das blöde Ding ist super pingelig. Ich werde entmystifizieren Sie es jetzt.
Ihr code sollte wie folgt Aussehen:
Der Grund, warum Sie don ' T-pass-Modul ist, weil die dumme Zahl im Quartal(n) Klammer wieder eine wahre Aussage.
Picken Sie eine Zahl, jede Zahl und multipliziere das mit (3) dann (4); die wiederum geben Sie einen Wert ein, macht die modulo % null und if/else-Anweisung true.
Mein Beitrag an die Welt,
-Aaron
InformationsquelleAutor Aaron Erebus