Dies ist Teil 4 der JavaScript Blogbeitragsreihe, die Sie von Anfänger zu Fortgeschrittenem führen wird. Am Ende dieser Reihe werden Sie alle Grundlagen kennen, die Sie benötigen, um mit dem Programmieren in JavaScript zu beginnen. Ohne weitere Umschweife, lassen Sie uns mit dem vierten Tutorial beginnen.
In diesem Blogbeitrag werden wir dort weitermachen, wo wir im dritten Blogbeitrag aufgehört haben. Zu diesem Zeitpunkt sollten Sie Ihren Google Chrome-Browser geöffnet haben und spezifisch Ihre JavaScript-Konsole geöffnet haben. Wenn Sie aus irgendeinem Grund diese geschlossen haben, wäre jetzt ein guter Zeitpunkt, sie wieder zu öffnen.
Wenn Sie einen Mac verwenden, ist die Tastenkombination zum Öffnen der Konsole „Option + Command + J“, nachdem Sie Chrome geöffnet haben. Wenn Sie ein Windows-Gerät verwenden, können Sie die Tastenkombination „Control + Shift + J“ verwenden, um die JavaScript-Konsole zu öffnen, sobald Sie Chrome geöffnet haben. Alternativ können Sie auch im Menü oben zu Ansicht -> Entwickler -> JavaScript-Konsole gehen.
Bis zu diesem Punkt im Kurs hätten wir alles Zeile für Zeile schreiben und ausführen können. Es wäre nicht der bequemste Weg, um Dinge auszuführen, aber es würde dennoch funktionieren. Ab diesem Tutorial werden wir Code schreiben, der mehrere Zeilen Code benötigt, um ein vollständiges Set von Anweisungen zu erstellen. Um dies zu erreichen, werden wir etwas verwenden, das in Google Chrome als „Snippets“ bezeichnet wird. Ohne weitere Umschweife, lassen Sie uns unser Setup von der JavaScript-Konsole auf Chrome-Snippets upgraden.
Derzeit sollten Sie Ihre Konsole geöffnet haben, und wenn Sie die vorherigen Tutorials befolgt haben, sollten Sie einen Bildschirm sehen, der so aussieht:
Wenn Sie sich diesen Bildschirm oder Ihren Bildschirm ansehen, sollten Sie sehen: Elemente, Konsole, Quellen, Netzwerk, Leistung, Speicher, Anwendung und so weiter, die nebeneinander in der oberen Leiste des dunklen Bereichs geschrieben sind. Wenn Sie sie in helleren Farben sehen, ist das auch völlig in Ordnung. Das bedeutet, dass Sie den Lichtmodus verwenden, der der Standardmodus für den Tag sein kann. Der Bildschirm, den ich derzeit zeige, verwendet das Farbschema für den Dunkelmodus in den Chrome-Konsoleinstellungen. Wenn Sie die Elemente, die Konsole, die Quellen, das Netzwerk usw. sehen, in welchem Farbschema auch immer, sind Sie bereit.
Wenn Sie sich die obere Leiste der Konsole genauer ansehen, können Sie sehen, dass die Schrift von „Konsole“ leicht in einer anderen Farbe aussieht. Klicken Sie einfach auf „Quellen“ direkt daneben.
Wenn Sie auf Quellen klicken, sollten Sie einen Bildschirm sehen, der irgendwie so aussieht.
Ein Unterschied, den Sie erwarten könnten, ist, dass Sie wahrscheinlich die Datei „notes.js“ nicht sehen werden, da ich sie zuvor erstellt habe. Abgesehen davon sollte es ziemlich ähnlich aussehen. Um eine neue Datei zu erstellen, klicken Sie auf „+ Neues Snippet“. Sobald Sie darauf klicken, wird eine neue JavaScript-Datei für Sie erstellt, und Sie können sie benennen, wie Sie möchten. In diesem Tutorial werden wir sie „index.js“ nennen, da es gängige Praxis ist, die erste oder die Hauptdatei als „index.js“ zu benennen.
Wenn Sie dieses Tutorial Wort für Wort befolgen möchten, können Sie nach dem Klicken auf „+ Neues Snippet“ den Namen „index.js“ eingeben und die Eingabetaste auf Ihrer Tastatur drücken. Jetzt können wir in die geöffnete Datei in dem Hauptbereich klicken, der sich geöffnet hat, um mit dem Programmieren in JavaScript zu beginnen.
Fangen wir mit etwas an, von dem wir bereits wissen, dass es funktioniert. Und das ist:
alert("Hallo, Welt!");
Sie können es entweder selbst für zusätzliche Übung ausschreiben oder den Codeabschnitt in die Datei kopieren, die wir erstellt haben. Ich empfehle dringend, es selbst zu tippen, da dies in vielen Fällen der Weg ist, wie Sie es lernen. Sobald Sie es eingegeben haben, wenn Sie die Eingabetaste drücken, werden Sie sehen, dass der Code nicht ausgeführt wird. Stattdessen springt der Cursor einfach zur nächsten Zeile, wie in jedem anderen Textbearbeitungsbereich. Es gibt zwei Hauptwege, wie wir unseren Code ausführen können. Der erste ist, auf die Schaltfläche „Abspielen“ zu klicken, die sich in der unteren rechten Ecke befindet.
Wenn Sie auf diese Abspieltaste klicken, sollte unser Code ausgeführt werden und uns die Ergebnisse anzeigen.
Sobald Sie auf „OK“ klicken, lassen Sie uns auch unseren Code mit der anderen Hauptmethode ausführen. Die zweite Hauptmethode, um Ihren Code auszuführen oder Ihr Snippet auszuführen, besteht darin, die Tastenkombination zu verwenden. Wie wir sehen können, zeigt es uns bereits die Tastenkombination an, wenn wir auf die Schaltfläche „Ausführen“ klicken. Diese Tastenkombination ist „Command + Enter“. Um dies zu tun, können wir die Command-Taste drücken und dann die Eingabetaste drücken. Dadurch wird auch unser Code ausgeführt und wir erhalten die gleichen Ergebnisse wie beim Klicken auf die Abspieltaste.
Und damit wissen Sie jetzt, wie Sie unseren JavaScript-Code in den Chrome-Snippets auf zwei Arten ausführen können.
Wenn Sie neue Dateien erstellen möchten, um vielleicht Notizen über JavaScript zu machen oder um etwas JavaScript-Code zu üben, können Sie jederzeit neue Dateien erstellen, indem Sie auf „+ Neues Snippet“ klicken und Ihre Dateien nach Belieben benennen. Jetzt, da wir unser neues Codierungssetup bereit haben, lassen Sie uns etwas mehr JavaScript sehen.
Wenn wir Code schreiben, müssen wir viele Szenarien und Aktionen berücksichtigen, die der Benutzer ausführen kann. Diese Vorbereitung auf verschiedene Szenarien kann aus verschiedenen Quellen stammen, wie dem Gerät, auf dem unser Code ausgeführt wird, der Bildschirmgröße, die angezeigt werden soll, verschiedenen Arten von Browsern, die der Benutzer haben könnte, und so weiter. Aber wie stellen wir sicher, dass wir auf verschiedene Szenarien vorbereitet sind? Wenn Sie verschiedene Codes nacheinander schreiben, würde es für den Benutzer Sinn machen, alle auszuführen? Um all dies und mehr zu beantworten, werden wir Kontrollstrukturen verwenden.
Kontrollstrukturen ermöglichen es uns, die Ausführung des Codes zu steuern, sodass unser Code sich an verschiedene Bedingungen anpassen kann. Es gibt mehrere gängige Elemente, die für Kontrollstrukturen verwendet werden. In diesem Tutorial beginnen wir mit dem einfachsten und arbeiten uns von dort aus vor. Der erste, den wir sehen werden, verwendet If-, Else- und Else-If-Anweisungen, um die Ausführung des Codes zu steuern.
Dies ist die einfachste Kontrollstruktur, um zu beginnen. Was sie uns ermöglicht, ist, einen bestimmten Code auszuführen, wenn eine bestimmte Bedingung wahr ist, und einen anderen Code auszuführen, wenn eine andere Bedingung wahr ist. Lassen Sie uns das mit einem Beispiel sehen. Angenommen, wenn es draußen regnet, nehme ich meinen Regenschirm mit. Andernfalls nehme ich keinen Regenschirm mit. Wir können die genaue Logik und das Denken in Code wie folgt übersetzen:
(Bevor wir diesen Code schreiben, kommentieren wir den Code aus dem vorherigen Code, den wir in der Datei haben, indem wir zwei Schrägstriche davor setzen, damit er nicht ausgeführt wird, aber Sie dennoch eine Kopie davon haben. Nach dem Hinzufügen der Schrägstriche sollte es so aussehen:)
// alert("Hallo, Welt!"); let rainy = true; if (rainy){ alert("Nehmen Sie einen Regenschirm mit"); } else { alert("Kein Bedarf für einen Regenschirm"); }
Das Ausführen dieses Codes würde uns die folgende Ausgabe geben:
// alert("Hallo, Welt!"); let rainy = false; if (rainy){ alert("Nehmen Sie einen Regenschirm mit"); } else { alert("Kein Bedarf für einen Regenschirm"); }
Während das Ausführen dieser Version des Codes, die besagt, dass es nicht regnet, die folgende Ausgabe geben würde:
Wenn Sie den Code eingeben, um Änderungen an der Code-Datei vorzunehmen, sollten Sie, wenn Sie sich den Dateinamen genauer ansehen, sehen, dass er ein Sternchen vor dem Dateinamen hat. Das bedeutet, dass die Code-Datei, die wir schreiben, nicht vollständig gespeichert ist. Dies mag keinen großen Unterschied machen, wenn Sie nur ein paar Zeilen Code schreiben, die Sie immer wieder schreiben können, aber oft möchten Sie Ihren Code speichern, damit Sie ihn später wiederverwenden oder überprüfen können. Wir können diese Code-Datei auf die gleiche Weise speichern, wie wir andere Dateien speichern, also wäre das „Command + S“ auf dem Mac und „Control + S“ auf Windows.
In unserem Fall, da wir unseren Code direkt nach dem Schreiben ausführen, wurde unsere Datei automatisch gespeichert, als wir den Code ausgeführt haben. Wenn Sie also vorhaben, etwas Code zu schreiben und ihn stundenlang liegen zu lassen, ist es eine gute Idee, Ihren Code von Zeit zu Zeit zu speichern, um sicherzustellen, dass Sie keinen signifikanten Fortschritt verlieren.
Es ist großartig, dass wir unseren Code an eine binäre Bedingung mit einer If- und einer Else-Anweisung anpassen können, aber was ist, wenn wir mehrere Dinge berücksichtigen müssen, was in der realen Welt wahrscheinlich der Fall sein wird. Zum Beispiel, was ist, wenn es kalt ist und Sie einen Hoodie brauchen, wenn es kalt ist. Eine Möglichkeit, dies zu tun, wäre eine „else if“-Anweisung, und wir können es wie folgt tun:
// alert("Hallo, Welt!"); let rainy = false; let cold = true; if (rainy){ alert("Nehmen Sie einen Regenschirm mit"); } else if (cold) { alert("Nehmen Sie einen Hoodie mit, keinen Regenschirm"); } else { alert("Kein Bedarf für einen Regenschirm"); }
Die Ausgabe dieses Codes würde so aussehen:
Wenn eine bestimmte Bedingung wahr ist, wird der erste Code, der in den Klammern steht, ausgeführt. In unserem Fall, da die erste Bedingung auf Regen prüft, werden wir den Benutzer warnen, dass er einen Regenschirm mitnehmen sollte. Wenn diese Bedingung falsch ist, was bedeutet, dass es nicht regnet, werden wir weiterhin nach anderen Bedingungen suchen, indem wir eine „else if“-Anweisung verwenden. Eine Sache, die sich signifikant von der „else if“-Anweisung unterscheidet, ist, dass wir so viele Bedingungen überprüfen können, wie wir möchten, mit else if-Anweisungen.
Das Wichtige, was Sie hier beachten sollten, ist, dass Ihr Code von oben nach unten auf Richtigkeit oder Wahrheitsgehalt überprüft wird. Das bedeutet, dass mit dem aktuellen Code, wenn das Wetter sowohl regnerisch als auch kalt ist, das kalte Wetter nicht erkannt wird, da die erste Anweisung korrekt ist. Wir können dies auch überprüfen, indem wir den Code ändern, um sowohl regnerische als auch kalte Bedingungen zu haben.
// alert("Hallo, Welt!"); let rainy = true; let cold = true; if (rainy){ alert("Nehmen Sie einen Regenschirm mit"); } else if (cold) { alert("Nehmen Sie einen Hoodie mit, keinen Regenschirm"); } else { alert("Kein Bedarf für einen Regenschirm"); }
Jetzt fragen Sie sich vielleicht, wie kann ich das lösen? Welche Bedingung ist wichtiger, das Wetter ist kalt oder es regnet? Sollten Sie eine Bedingung wählen und die andere opfern? Müssen Sie überhaupt eine solche Wahl treffen? Nun, nicht wirklich. Dies ist ein sehr häufiges Problem und es hat eine sehr gängige und relativ einfache Lösung. Wir können einen „und“-Ausdruck verwenden, um mehrere Szenarien abzudecken. Um JavaScript zu sagen, dass wir ein „und“ verwenden möchten, um unsere Programmierlogik zu verbinden, verwenden wir zwei dieser Symbole: „&“. Und weil unser Code von oben nach unten überprüft wird, verwenden wir die umfassendste Option für die erste if-Anweisung. Der aktualisierte Code sieht dann so aus.
// alert("Hallo, Welt!"); let rainy = true; let cold = true; if (rainy && cold) { alert("Tragen Sie einen Hoodie und nehmen Sie einen Regenschirm mit.") } else if (rainy){ alert("Nehmen Sie einen Regenschirm mit"); } else if (cold) { alert("Nehmen Sie einen Hoodie mit, keinen Regenschirm"); } else { alert("Kein Bedarf für einen Regenschirm"); }
Das Ausführen dieses Codes würde Ihnen eine Warnung geben, die so aussieht:
Viel besser. Jetzt können wir mehrere verschiedene Szenarien kombinieren, einschließlich verschiedener Kombinationen dieser Szenarien. Aber was ist, wenn wir ein Szenario berücksichtigen möchten, das nicht kalt, aber regnerisch ist. Und nehmen wir an, dass wir dem Benutzer sagen möchten, dass er keinen Hoodie mitnehmen soll, sondern nur einen Regenschirm. Um genau das zu tun, können wir das logische „nicht“ verwenden, wir können es in unserem Code mit dem Ausrufezeichen vor der Bedingung, die wir angeben möchten, verwenden. Lassen Sie uns diese Bedingung zu unserem Code hinzufügen, damit er vollständiger ist.
// alert("Hallo, Welt!"); let rainy = true; let cold = true; if (rainy && cold) { alert("Tragen Sie einen Hoodie und nehmen Sie einen Regenschirm mit.") } else if (rainy && !cold){ alert("Nehmen Sie einen Regenschirm mit, aber keinen Hoodie."); } else if (rainy){ alert("Nehmen Sie einen Regenschirm mit"); } else if (cold) { alert("Nehmen Sie einen Hoodie mit, keinen Regenschirm"); } else { alert("Kein Bedarf für einen Regenschirm"); }
Wenn wir eine neue Bedingung zu einem if-else-Baum hinzufügen, können wir sie, solange es die umfassendste Bedingung ist, irgendwo oben platzieren. Auf diese Weise haben wir viel weniger Fehlerchancen im Vergleich zu dem gegenteiligen Ansatz. Ein Nebeneffekt des Einfügens neuer Codes in bestehenden Code ist, dass ein Teil des Codes redundant werden oder nicht auf die effizienteste Weise funktionieren kann. Wir werden uns nicht stark auf den Effizienzteil konzentrieren, aber für jetzt können wir sehen, dass wir sowohl die kalten als auch die nicht kalten Bedingungen für regnerisches Wetter abdecken, sodass wir optional die Bedingung entfernen können, die nur die „regnerische“ Bedingung überprüft. Diese Codeanpassungen werden auch als „Code-Refactoring“ bezeichnet. Im Refactoring-Prozess geht es darum, den Code schrittweise sauberer und effizienter zu machen.
// alert("Hallo, Welt!"); let rainy = true; let cold = true; if (rainy && cold) { alert("Tragen Sie einen Hoodie und nehmen Sie einen Regenschirm mit.") } else if (rainy && !cold){ alert("Nehmen Sie einen Regenschirm mit, aber keinen Hoodie."); } else if (cold) { alert("Nehmen Sie einen Hoodie mit, keinen Regenschirm"); } else { alert("Kein Bedarf für einen Regenschirm"); }
Wenn wir überprüfen möchten, ob eine der Bedingungen wahr ist, können wir den „oder“-Operator verwenden, der das Pipe-Symbol ist, das zweimal auf Ihrer Tastatur verwendet wird und so aussieht: „||“.
Lassen Sie uns ein Beispiel dafür mit einem weiteren Beispiel sehen. Um mehr Beispiele in dieselbe Datei hinzuzufügen, ohne die neuen Befehle zu stören, können wir den vorherigen Code, den wir verwendet haben, auskommentieren, indem wir den vorherigen Code in diese Symbole einfügen, die wir zuvor gesehen haben:
/* */
Das ist ein Schrägstrich und ein Sternchen und dieselben Symbole in umgekehrter Reihenfolge, um den kommentierten Teil zu schließen. Lassen Sie uns unseren aktuellen Code in diese Symbole einfügen, damit sie nicht mit dem neuen Code, der kommen wird, interferieren. Jetzt sollte Ihre Code-Datei so aussehen:
// alert("Hallo, Welt!"); /* let rainy = true; let cold = true; if (rainy && cold) { alert("Tragen Sie einen Hoodie und nehmen Sie einen Regenschirm mit.") } else if (rainy && !cold){ alert("Nehmen Sie einen Regenschirm mit, aber keinen Hoodie."); } else if (cold) { alert("Nehmen Sie einen Hoodie mit, keinen Regenschirm"); } else { alert("Kein Bedarf für einen Regenschirm"); } */
Von nun an werden wir uns auf die neuen Teile konzentrieren, die wir zur Datei hinzufügen, damit wir uns darauf konzentrieren können, eine Sache nach der anderen zu lernen. Sie können den vorherigen Code optional im kommentierten Modus behalten, ihn in eine neue Datei für Ihre Referenzen verschieben oder, wenn Sie ihn nicht mehr sehen möchten, ihn für eine sauberere Datei löschen.
Lassen Sie uns mit unserem Beispiel zu einem „oder“-Fall fortfahren. Stellen Sie sich ein Szenario vor, in dem Sie Ihren Kühlschrank nach Essen und Getränken durchsuchen, jedes Mal, wenn Sie hungrig oder durstig sind. Wie würde der Code dafür funktionieren?
let hungry = true; let thirsty = false; if (hungry || thirsty) { alert("Gehen Sie zum Kühlschrank und überprüfen Sie, was Sie dort haben."); }
Das Ausführen dieses Codes würde uns, wie Sie wahrscheinlich auch erraten haben, das folgende Ergebnis geben:
Bis jetzt stammen die Beispiele, die wir verwendet haben, aus nahezu realen Szenarien, aber oft werden Sie mit Zahlen im Code arbeiten. Sie haben zuvor in dieser Reihe Zahlen gesehen, aber wir haben nicht viel über den Vergleich oder die Operationen gesprochen, die wir mit ihnen durchführen könnten. Jetzt, da wir über if-else-Anweisungen gelernt haben, lassen Sie uns mehr über Zahlen sehen.
Wenn wir mit if- und else-if-Anweisungen arbeiten, überprüfen wir die Wahrhaftigkeit einer Aussage. Aber können wir auch eine sinnvolle if-Anweisung machen, wenn wir nur Zahlen haben? Zum Beispiel, was ist, wenn ich einen Regenschirm holen möchte, wenn die Regenwahrscheinlichkeit mehr als 50 % beträgt, können wir das mit Code erreichen? Ja, das können wir, und so würde es gehen.
let chanceOfRain = 70; if (chanceOfRain >= 50) { alert("Nehmen Sie einen Regenschirm mit."); }
Wenn wir mit Zahlen arbeiten, benötigen wir eine Möglichkeit, sie in eine Art Wahrhaftigkeit oder Falschheit umzuwandeln, damit die if-Anweisung funktioniert. Es gibt mehrere Möglichkeiten, dies zu erreichen, abhängig von unserem Anwendungsfall.
Zum Beispiel können wir überprüfen, ob zwei Zahlen genau gleich sind, indem wir drei Gleichheitszeichen verwenden, wie folgt:
let a = 10; let b = 10; if (a === b) { alert("Sie sind gleich."); }
Dies würde uns die Warnung geben, die sagt: „Sie sind gleich.“.
Wir können auch überprüfen, ob sie nicht gleich sind, mit dem folgenden Code:
let a = 10; let b = 5; if (a !== b) { alert("Sie sind nicht dasselbe!"); }
Das Ausführen des obigen Codes wird uns die Warnung geben, die sagt: „Sie sind nicht dasselbe!“.
Wir können auch überprüfen, welche größer, größer gleich, kleiner oder kleiner gleich ist. Sie finden eine Zusammenfassung der Zeichen zu Ihrer Bequemlichkeit.
// === überprüft die Gleichheit // !== überprüft die Ungleichheit // > größer als // >= größer als oder gleich // < kleiner als // <= kleiner als oder gleich
Lassen Sie uns auch ein paar weitere davon für zusätzliche Übung und Code-Exposition sehen. Hier sind ein paar Beispielcodes, die alle die Warnung anzeigen, die sie in den if-Anweisungen haben:
Größer als:
let a = 10; let b = 5; if (a > b) { alert("a ist größer als b"); }
Größer als oder gleich:
let a = 10; let b = 5; if (a >= b) { alert("a ist größer als oder gleich b"); }
Ein weiteres Beispiel für größer als oder gleich:
let a = 10; let b = 10; if (a >= b) { alert("a ist größer als oder gleich b"); }
Kleiner als:
let a = 5; let b = 10; if (a < b) { alert("a ist kleiner als b"); }
Kleiner als oder gleich:
let a = 5; let b = 10; if (a <= b) { alert("a ist kleiner als oder gleich b"); }
Ein weiteres Beispiel für kleiner als oder gleich:
let a = 10; let b = 10; if (a <= b) { alert("a ist kleiner als oder gleich b"); }
Durch die Verwendung einer Kombination dieser Vergleichs- oder Gleichheitszeichen können wir komplexe Codes erstellen, die sich an verschiedene Bedingungen anpassen können.
Wenn wir mit Zahlen arbeiten, möchten wir auch arithmetische Operationen durchführen. Die meisten der arithmetischen Operationen sollten Ihnen ziemlich vertraut sein, aber es gibt auch programmierungsspezifische arithmetische Operatoren, die möglicherweise weniger vertraut sind.
Hier ist eine Zusammenfassung der arithmetischen Operationen, die wir in JavaScript verwenden, mit ihrer Bedeutung zu Ihrer Bequemlichkeit:
// * Multiplikation // / Division // + Addition // - Subtraktion // % Modulo-Operation, gibt uns den Rest nach der Division // ** Exponentiation
Die ersten vier werden so funktionieren, wie Sie es erwarten:
let a = 12; let b = 5; let c = a * b; // c wird 60 sein c = a / b; // c wird jetzt 2,4 sein c = a + b; // c wird jetzt 17 sein c = a - b; // c wird jetzt 7 sein
Die Modulo-Operation gibt uns den Rest, nachdem die erste Zahl durch die zweite Zahl geteilt wurde. Wenn wir mit dem vorherigen a, b und c-Code fortfahren:
c = a % b; // c wird jetzt 2 sein c = 18 % 5; // c wird jetzt den Wert 3 haben // weil 18 geteilt durch 5 uns den Rest von 3 gibt
Der Exponentenoperator führt die Exponentiation in JavaScript durch. Er wird mit zwei Sternchen dargestellt und nimmt das erste Element zur Potenz des zweiten Elements.
c = 2 ** 3; // c wird jetzt den Wert 8 haben // weil 2 * 2 * 2 gleich 8 ist
Dies war ein relativ langes Tutorial, und Sie haben es geschafft! Wir haben unser Codierungssetup aufgerüstet und in diesem Tutorial viel gelernt. Im nächsten Tutorial werden wir mit weiteren Möglichkeiten fortfahren, den Fluss unseres Codes zu steuern!
JavaScript-Experte und Dozent, der IT-Abteilungen schult. Sein Hauptziel ist es, die Produktivität des Teams zu steigern, indem er anderen beibringt, wie man effektiv beim Programmieren zusammenarbeitet.
Wer ist ein Onboarding-Spezialist? Onboarding ist eines der Instrumente des Personalmanagements. Es ist die letzte…
Obwohl es so erscheinen mag, dass Crowdfunding und Crowdlending dieselben Konzepte sind, werden sie oft…
Ist es möglich, ein erfolgreiches Startup zu gründen, indem man Freiberufler einstellt? Ja, das ist…
Große und mittelständische Unternehmen mit einer eigenen Personalabteilung beschäftigen neben Personalfachleuten auch Personalanalysten. Wenn die…
Planen Sie, einen Online-Shop einzurichten, und fragen sich, wo Sie anfangen sollen? Wie man eine…
Wie macht man ein Stockfoto? Ist es schwierig, ein tolles Stockbild zu erstellen, das verkauft…