Dieser Artikel teilt einige der praktischeren JS -Methoden, die ich im täglichen Leben für Ihre Anleitung und Bewertung angesammelt habe. Ich möchte es in verschiedene Artikel einführen, aber ich fand es ein bisschen extra. Ich habe die Methoden geklärt, aber ich habe nicht viele Möglichkeiten, es zu zeigen. Natürlich sind einige von ihnen Methoden, die ich online gesehen habe, die ich für sehr praktisch halte. Ich werde sie hier veröffentlichen, damit alle diskutieren können.
1. Klicken Sie hier, um zurückzukehren, wenn keine vorherige Seite vorhanden ist, und springen Sie dann zur angegebenen Seite.
Zunächst klicken Sie auf die Anforderungen der Kundenbedürfnisse - eine einzelne Seite, die an WeChat weitergegeben wurde, um zur Startseite zur Homepage der Website zurückzukehren.
In dieser Zeit wurde diese Funktion mit Kunden besprochen. Können Sie die Schaltfläche zur Homepage hinzufügen, um zur Seite zu springen?
Diese Methode kann jedoch nicht auf jeder Seite funktionieren und zeigt an, dass die Freigabeseite, die diese Funktion erfordert, nicht das nächste Symbol hat und die Schönheit nicht beeinflusst. Also musste ich nach einem Kutteln suchen. Der Hund ist auch voller Funktionen, die Edge -Bälle spielen.
Durch meinen eigenen Versuch habe ich den folgenden Code:
// kehre zur Startseite ohne eine Seite zurück, kehren Sie zur Funktion zurück. window.history.pusstate (Zustand, "Index", Gethttpprefix + "index.html"); state = {title: "index", url: ""}; window.history.pusstate (Zustand, "Index", ""); }}Fügen Sie dann den folgenden Code dem vorbereitenden Ereignis auf der Seite hinzu:
setTimeout (function () {pushHistory () window.adDeVentListener ("popstate", function (e) {5 if (window.history.state! = null && window.history.state.url!Die spezifische Funktion besteht darin, festzustellen, ob zuvor eine Seite vorhanden war. Wenn nicht, fügen Sie die Linkadresse der Website in den Status ein (die Startseite wird hier verwendet) und hören Sie sich das Popstate -Ereignis an, um den entsprechenden Funktionsvorgang auszuführen.
Es kann einige geringfügige Probleme mit diesem Code geben, daher habe ich vor, ihn zu veröffentlichen, und jemand kann ihn zusammen diskutieren und verbessern.
2. Bequeme Protokollierungsmethode
Ich glaube, dass alle schon müde von Console.log (), etwas ausführlicher Länge beim Debuggen der Seite. Einige Menschen verwenden möglicherweise Verknüpfungseingänge, um schnelle Eingaben zu erstellen (z. B. Eingabe -CL -Kompilierungsumgebungen springen intelligent aus der Konsole). Wenn das Projekt jedoch veröffentlicht wird, wird es immer noch schwierig sein, zu klären. Deshalb habe ich einfach eine Methode geschrieben, um diese Situation speziell mit dieser Situation umzugehen.
Funktion lll () {// Global Variable _Debug wird verwendet, um den Debug -Informationsschalter zu steuern, wenn (_debug) {var arr = []; // Argumente sind der Parametersatz von Methoden. Dies geschieht nicht, um die Anzahl der Parameter nicht zu begrenzen und das Debuggen für (_item in Argumenten) zu erleichtern. {// Da persönliche Gewohnheiten, dass die String -Informationen in einer Zeile angezeigt werden, wird die Zeichenfolge gefiltert und spleiß if (arr.length> 0) console.log (arr.join (',')}}Eigentlich bin ich ein wenig unzufrieden damit, dass ich den Namen des Parameters nicht automatisch erhalten kann, sonst kann ich ihn so verwenden:
var a = 123, b = 333, obj = {name: "name", Inhalt: "..."} lll (a, b, obj) // Die Debugging -Informationen lautet: a: 123, b: 123 // obj: // {name: "name", Inhalt: "..."}Scheinen Sie mehr zu verstehen?
3.. Informieren Sie die Browserpositionierungsinformationen (unterstützt das mobile Terminal)
Viele Projekte, die ich erhalten habe, sind maßgeschneiderte Entwicklung auf Mobilgeräten. Informationen, für die der aktuelle Standort gefunden werden muss, werden häufig verwendet.
Viele Schnittstellen im Internet müssen jedoch auf einen externen JS -Abschnitt wie die API von Baidu, die API von Wechat usw. verweisen.
Als nächstes werde ich eine Methode einführen, für die kein Verweis auf externe JS erforderlich ist, sondern nur Parameter an externe API -Links übermitteln muss, um die Positionierung zu erhalten:
if (getcookie ('Position') == "") {if (navigator.useragent.indexof ("micromessger")> -1) {// beurteilen, ob es sich um ein WeChat -Terminal handelt, abhängig von der Situation, Navigator. HTML5 (das mobile Terminal ist am genauesten, der PC hat eine große Abweichung) var lat = Position.coords.latitude; // Erhalten Sie die aktuelle Breitengrad -Varize. "http://api.map.baidu.com/geocoder/v2/?ak=om55dvwvwluu7shkz7uy8m6e&callback=renderReverse&location=" + lat + "," + lng + "& output = JSON & pois = 1". BeeDend: function () {// Da dieser Vorgang einige Zeit dauert, ist es am besten, eine Ladeaufforderung auf der Seite iOSLOAD () // Die Seite zu laden, die ich geschrieben habe. Die Übertragung erfordert den Empfänger und der Sender, einen einheitlichen Erfolg zu machen: Funktion (Daten) {ios.hide (); (Fehler) {//alert(Error.Message);}, {})}}Dieser Code ist ein Code in meinem tatsächlichen Projekt. Da ich feststellen muss, ob die Targeting -Informationen erhalten wurden, kann ich sie nicht jedes Mal erhalten, wenn die Seite geladen wird, daher habe ich die Zielinformationen mit Cookies gespeichert.
Zu Beginn bestimmen wir, ob es ein aktuelles Informations -Cookie gibt, aber es gibt keine. Stellen Sie dann fest, ob es sich am mobilen Terminal befindet (da das Projekt vom WeChat -Terminal stammt, habe ich hier gerade die WeChat -Terminalüberprüfung durchgeführt)
Rufen Sie dann die von HTML5 bereitgestellten Schnittstellenparameter für die Datenübertragung auf, und der von Baidu zurückgegebene JSONP wird verarbeitet. Da mein Projekt nur die Standortstadtinformationen erhalten muss, gebe ich nur ein Beispiel für die Erlangung von Städten.
4. Holen Sie sich den numerischen Teil der Saite
Da ich nur für die Implementierung von Funktionen für das Projekt verantwortlich bin, baue ich selbst nicht viele Seiten auf, aber ich werde auch einige schwierige Situationen erstellen, in denen die Werte im Tag schwer zu erhalten sind.
Zum Beispiel:
<div> Originalpreis von 998 ist jetzt nur noch <a> 99.8! </a> </div>
Bei solchen Seiten müssen Sie manchmal 998 oder 98 darin bekommen. Es wird ein wenig problematisch.
Durch die nachstehende Methode kann diese Situation leicht gelöst werden
Funktion getNum (text) {var value = text.replace (/[^(0-9).]/ig, ""); Parsefloat zurückgeben (Wert); }Diese Methode ist sehr kurz und passt im Wesentlichen durch Regelmäßigkeit überein. Ersetzen Sie Zeichen, die nicht nummerierte oder dezimale Punkte durch leere Saiten (tatsächlich gelöscht)
Die auf diese Weise zurückgegebenen Daten sind die gewünschte Nummer. Ich habe es schließlich in einen schwimmenden Punktbetrieb umgewandelt, der die Nachbearbeitung der Daten erleichtert. Halten Sie zum Beispiel zwei Dezimalstellen, runden Sie sie usw. um usw.
5. Geräteinformationen erhalten
//#Region Get Device Information var browser = {Versionen: function () {var u = navigator.useragent, app = navigator.appversion; Return {Trident: U.Indexof ('Trident')> -1, // IE Kernel Presto: U.Indexof ('Presto')> -1, // Opera Kernel webkit: u.Indexof ('Applewebkit')> -1, // Apple und Google Kernel Gecko: u.IndExof ('GECKO')> -1 && u u u u.Inf ('kho (' kho ('kho)). -1, // Firefox Kernel Mobile: !! u.Match (/appleWebkit.* mobile.*/), // Ist es ein mobiler Terminal iOS: !! u.match (// (i [^]+; (u;)? // Android Terminal oder UC Browser iPhone: U.Indexof ('iPhone')> -1, // Ist es ein iPhone oder ein QQHD -Browser iPad: u.Indexof ('iPad')> -1, // Ist es ein iPad -Webapp: u.Indexof ('Safari') == -1, // Moko-, //, //. > -1, //, ob es sich um WeChat (neu hinzugefügt am 2015-01-22) qq: u.match (// sqq/i) == "qq" // ob es sich {// Code, der für Apple und Google Kernel ausgeführt wird ...} //#EndregionHier ist auch eine Möglichkeit, Geräteinformationen zu beurteilen, die ich im Internet geschrieben und gesehen habe.
Ich persönlich finde es sehr nützlich, also werde ich es mit Ihnen teilen.
String-Erweiterungsmethode-die folgenden Methoden zum Anhängen von String-Typdaten
1. Verstecken Sie den Teil der Zeichenfolge über die angegebene Länge hinaus
/*Zeigen Sie die Zeichenfolge auf einer bestimmten Länge an, und der Überschuss wird in Ellipsen angezeigt (Len-Cohow Länge DefaultStr-STAND-STAND-STAND-STAND-STAND-STAND-STAND, wenn die Zeichenfolge leer ist)*/String.Prototype.SsplitString = Funktion (Len, DefaultStr) {var result = ""; var str = this.toString () if (str) {str = str.trim () if (Str.Length> len) {result = str.substring (0, len) + "..."; } else {result = str; }} else {result = defaultStr; } Rückgabeergebnis;}Die Kommentare sind einfach genug. Wenn Sie es nicht verstehen, können Sie eine Nachricht hinterlassen, und der Blogger antwortet, wenn Sie sie sehen.
2. Subtrahieren Sie die Saitenlänge um eins
// Subtrahieren Sie eine Länge string.prototype.dellast = function () {return this.substring (0, this.Length - 1)}Einige Leute denken vielleicht, dass diese Methode etwas misstrauisch ist, ihre Hose und Furz auszuziehen, aber tatsächlich wird diese Operation in realen Projekten oft benötigt.
Anstatt ein langes Substring zu schreiben, sollten wir eine Methode schreiben, um den Code zu vereinfachen, und es ist auch sehr bequem, direkt auf die entsprechende Zeichenfolge zu klicken und Dellast beim Codieren des Codes auszuwählen.
In einem Satz ist es in Ordnung, es zu verwenden!
3. Vervollständigen Sie die angegebene Länge der numerischen Zeichenfolge
// Länge für numerische Zeichenfolgen string.prototype.addzero = Funktion (n) {var num = this var len = num.toString (). Länge; while (len <n) {num = '0' + num; Len ++; } return num;}Sie verstehen es möglicherweise nicht beim Lesen der Kommentare. Tatsächlich fügt es nur diese Zeichenfolge zu "2" hinzu. Diese Erweiterungsmethode kann auf diese Weise verwendet werden. Addzero (2)
Dann ist die zurückgegebene Zeichenfolge eine Zeichenfolge wie "02".
Alle haben gesagt, es ist in Ordnung, nachdem es es benutzt hat!
4. Konvertieren Sie den Datenbank -DateTime -Typ bisher
String.Prototype.dtd = function () {Neues Datum zurückgeben (Datum.Parse (this.toString (). Ersetzen (/-/g, "/")))}5. Benutzerspitzname weggelassen
// Der Benutzer -Spitzname lässt String.Prototype.telHide = function () {var name = dieser Rücksendame.substr (0, 1) + "****" + name.substring (name.length - 1, name.Length)} ausDas Obige dreht sich alles um diesen Artikel, ich hoffe, es wird für das Lernen aller hilfreich sein.