Was ist der beste JavaScript-Code, den Sie jemals geschrieben haben?

1. Öffnen Sie die Konsole: Drücken Sie – Strg + Umschalt + J
2. Stellen Sie sicher, dass Sie einen Bildlauf durchführen und den Bereich unten erkunden (DOM sollte vollständig geladen sein).
3. Fügen Sie die Skripte ein und drücken Sie die Eingabetaste, um die Magie zu sehen.
4. Machen Sie sich keine Sorgen, wenn Sie kein Entwickler sind. Diese Skripte werden Ihnen in keiner Weise schaden!

1. Skript, um alle Freundschaftsanfragen auf Facebook zu akzeptieren.

var r = document.querySelectorAll('.ruResponseButtons ._42ft._4jy0._4jy3._4jy1'); for (i=0 ; i< r.length; i++){ r[i].click(); }

2. Skript, um alle Freunde zum Liken Ihrer Facebook-Seite einzuladen.

var r = document.querySelectorAll('._6a._6b .uiButton._1sm .uiButtonText'); for (i=0 ; i< r.length; i++){ r[i].click(); }

3. Bitten Sie mit einem Skript um die Beantwortung aller Fragen zu QUORA

var r = document.querySelectorAll('.e_col .ask'); for (i=0 ; i< r.length; i++){ r[i].click(); }

PS: Es gibt Erweiterungen für so einfache Aufgaben, aber diese Skripte sind sehr praktisch für schnelle Aufgaben.
Kommentieren Sie unten, wenn Sie Vorschläge haben oder wenn diese Skripte nicht funktionieren. Ich habe sie vor ungefähr 6 Monaten gemacht.

Eine einfache, aber schnelle und leistungsstarke Anwendung, mit der Sie fehlende Untertitel Ihrer Filmdateien per Drag & Drop herunterladen können .

Eigenschaften

  • Einfach und intuitiv
    Ziehen Sie einfach Ihre Filmdateien oder Ordner, die Filmdateien enthalten, und legen Sie sie ab, um die Untertitel herunterzuladen.
  • Dateiname unabhängig
    SubGenesis verwendet den Datei-Hash der Videodatei anstelle des Dateinamens, um die SubDB-API anzufordern. Unabhängig davon, wie Sie die Videodatei benennen, ruft SubGenesis den richtigen Untertitel für Sie ab.
  • Rekursiv
    Ziehen Sie Ihren Filmordner und legen Sie ihn ab. Er lädt die Untertitel für alle darin oder in seinen Unterverzeichnissen enthaltenen Videodateien herunter.
  • Multi-Plattform
    Ab sofort läuft SubGenesis unter Windows und MacOS . Zukünftige Builds für Linux, Android und iOS sind zu erwarten.
  • Total frei
    SubGenesis ist kostenlos und wird es immer sein. Und ja, keine Werbung.

MaxeonInc / Subgenese

Mein Github

Implementierung

Verwendet Node.js für das Back-End und Electron als App-Framework.

Laden Sie die neueste Binärdatei für Ihre Plattform von der Release-Seite herunter:

Releases

PS: Es ist immer noch Alpha. Rückmeldungen sind erwünscht.

Ein Skript, das eine Infografik über Quora-Benutzer erstellt.

Code finden Sie unter skrishnan22 / Quora-Infograph.

Beispielsweise,

Quincy Larson

Gayle Laakmann McDowell

James Altucher

Sie müssen lediglich das Benutzerprofil von Quora aufrufen und den Code in die Browserkonsole einfügen. Die benötigte Zeit hängt von der Anzahl der Antworten ab und am Ende wird die Infografik in einem neuen Tab geöffnet.

Ich mag diese Art (aus einer meiner anderen Antworten), hauptsächlich, weil sie so einfach und doch visuell unterhaltsam ist:

(live bei Simple canvas plot – JSFiddle)

 var canvas = document.getElementById('myCanvas'), ctx = canvas.getContext('2d'), width = canvas.width, height = canvas.height, plot = function plot(fn, range) { var widthScale = width / (range.X[1] - range.X[0]), heightScale = height / (range.Y[1] - range.Y[0]), first = true, xFnVal, // X in function space. ySSVal; // Y in screen space. ctx.beginPath(); for (var x = 0; x < width + 2; x += 2) { xFnVal = (x / widthScale) - range.X[0]; ySSVal = height - (fn(xFnVal) - range.Y[0]) * heightScale; if (first) { ctx.moveTo(x, ySSVal); first = false; } else { ctx.lineTo(x, ySSVal); } } ctx.strokeStyle = "red"; ctx.lineWidth = 3; ctx.stroke(); }; plot( function (x) { return Math.sin(x) + Math.sin(x * 8) / 4; }, { X: [0, Math.PI * 4], Y: [-2, 2] } ); 

Ergebnis:

Ich weiß nicht, wie großartig die Codierung war, aber sie haben sehr gut funktioniert und sind einige, die aufgrund der Zufriedenheit, die ich durch das Schreiben von ihnen bekam, hervorstechen
Dies war in den Anfängen von JavaScript und ich war Redakteur bei IRT.org und beantwortete wie bisher JS-Fragen für alle, die Fragen stellten.

Ein japanischer Student hatte eine Suchmaschine für seinen Campus geschrieben, um die Schlafsäle der Menschen zu finden, benötigte jedoch eine Bildschirmtastatur, damit sie auf einem Touchscreen eingegeben werden konnte, der an der Außenseite des Eingangs angebracht war. Ich habe eine solche Tastatur (Netscape 3.1, wenn ich mich recht erinnere) mit Formularelementen erstellt – etwas, das ich anderswo noch nie gesehen hatte. Dies war jedoch nicht das Ende der Geschichte, da ein Neurologe mich einige Monate später fragte, ob ich etwas für rekonvaleszierende Schlaganfallopfer erschaffen könne, mit dem sie mit einem großen Trackball tippen könnten, den er an den Computer angeschlossen hatte. Und ja, ich hatte nur die Bildschirmtastatur, die er benutzen konnte.

Ein Typ von der NASA JPL wollte eine große Anzeige des Mondes haben, und wenn er mit der Maus über die Krater und Landeplätze fuhr, wurden an anderer Stelle einige Informationen angezeigt. Ich habe einer Imagemap Mouseover hinzugefügt. Ich erinnere mich anscheinend nur an Netscape, da MSIE 3 JS auf Bildern erst mit IE 3.2 verarbeiten konnte.

Vielleicht nicht die beste , aber ich mag diesen Code wirklich.
Es ermöglicht eine derart vielseitige Protokollierung mit einer derart kurzen Implementierung.

Wizek / logFactory.js

  // Superpowered Logging für AngularJS.
 
 angle.module ('logFactory', ['ng'])
 
 .value ('logFactory_whiteList', /.*/)                                                                                               
 //.value( 'logFactory_whiteList', /!|.*Ctrl|run/)                                                                                   
 .value ('logFactory_piercingMethods', {warn: true, error: true})                                                                      
                                                                                                                                   
 .factory ('logFactory', ['$ log', 'logFactory_whiteList', 'logFactory_piercingMethods', Funktion ($ log, whiteList, piercing) {      
   piercing = piercing ||  {}                                                                                                        
   whiteList = whiteList ||  /.*/                                                                                                    
                                                                                                                                   
   Rückgabefunktion (Präfix, parentLog) {                                                                                            
     var log = parentLog ||  $ log                                                                                                    
     var match = prefix.match (whiteList)                                                                                            
                                                                                                                                   
     Funktion e (fnName) {                                                                                                           
       if (! log [fnName]) {                                                                                                          
         fnName = 'log'                                                                                                             
       }       
                                                                                      
       return (piercing [fnName] || match)                                                                                           
         ?  log [fnName] .bind (log, '[' + Präfix + ']')                                                                                
         : angle.noop                                                                                                             
     }                                                                                                                              
                                                                                                                                   
     Rückkehr (                                                                                                                       
       {debug: e ('debug')                                                                                                          
       , info: e ('info')                                                                                                           
       , log: e ('log')                                                                                                            
       , warnen: e ('warnen')                                                                                                           
       , Fehler: e ('Fehler')                                                                                                          
       }                                                                                                                            
     )                                                                                                                              
   }                                                                                                                                
 }])

Ich habe ein ganzes Pub-Sub-Modul für Angular erstellt, das eine vielversprechende API mit Funktionen wie damals , einmal , als nächstes usw. hatte.

Die Funktionen haben es einfach gemacht, die Ergebnisse von Ereignissen, die bereits ausgelöst wurden, sowie die Ergebnisse von Ereignissen, die noch nicht ausgelöst wurden, zu verwenden, und Sie können dies nur einmal oder auf unbefristeter Basis tun.

Nachdem ich mehr über Angular erfahren hatte, wurde mir klar, dass ich fast alle Anwendungsfälle, die ich mit dem Modul zu tun hatte, umgehen konnte, indem ich meine Dienste direkt an meine Controller anschloss. Also habe ich es rausgeworfen.

Trotzdem war ich ziemlich aufgeregt, es zum Laufen zu bringen, und es war ziemlich klug, wie es das Abonnieren und Abbestellen handhabte (eine der Funktionen – ich glaube, es war die nächste – musste eine neue Funktion erstellt werden, die den Abbestellungsrückruf aufrief; es gab ein gewisses Maß an Indirektion in den Aufgaben, die es zumindest auf den ersten Blick wie Magie aussehen ließen).

Ein japanischer Student hatte eine Suchmaschine für seinen Campus geschrieben, um die Schlafsäle der Menschen zu finden, benötigte jedoch eine Bildschirmtastatur, damit sie auf einem Touchscreen eingegeben werden konnte, der an der Außenseite des Eingangs angebracht war. Ich habe eine solche Tastatur (Netscape 3.1, wenn ich mich recht erinnere) mit Formularelementen erstellt – etwas, das ich anderswo noch nie gesehen hatte. Dies war jedoch nicht das Ende der Geschichte, da ein Neurologe mich einige Monate später fragte, ob ich etwas für rekonvaleszierende Schlaganfallopfer erschaffen könne, mit dem sie mit einem großen Trackball tippen könnten, den er an den Computer angeschlossen hatte. Und ja, ich hatte nur die Bildschirmtastatur, die er benutzen konnte

Java-Anleitung

Dies ist sicherlich nicht der beste Code. Aber da Sie ein Quora-Benutzer sind, habe ich einen Code, der, wenn er in Ihre Konsole eingefügt wird, Antworten von allen Personen im Abschnitt “Anforderungsantwort” anfordert. Nachdem Sie eine Frage gestellt haben, wird ein Menü zur Beantwortung von Anfragen angezeigt. Klicken Sie auf “Mehr anzeigen oder suchen”. Fügen Sie nun den unten angegebenen Code in Ihre Konsole ein.

for (var i = 0; i {document.getElementsByClassName (“request_button”) [i] .click (); }

Ich habe einen Review Star Generator geschrieben, den ich sehr mag. Ich bin ein großer Fan von sauberem, spärlichem Code.

Beachten Sie, dass ich den Zahlenprototyp gehackt habe, um eine .times-Funktion zu erstellen. Sehr hilfreich!

  Funktion glassdoorStarGenerate (Bewertung) {
       var fractional = Bewertung% 1;
       var fulls = Math.floor (Bewertung);
       var leere = 5 - volle - 1;
       var s = '';
       var star = " ";

       fulls.times (function () {
         s + = " " + star + "";
       });

       // Bruchstern
       if (Bruch> 0) {
         s + = "  " + star + "";
       }

       leergut.Zeiten (Funktion () {
         s + = " " + star + "";
       });

       kehrt zurück
     }

     // .times Funktion
     Number.prototype.times = function (val) {
       var i = -1;
       while (++ i 

Ich blogge hier über das Beherrschen von Javascript!

Meistere Javascript! Lerne und verstehe.

Als erstes gibt es kein Ende für ein besseres “Besser als besser”, da aus meiner Sicht ein besserer Code in vielen Begriffen wie Speicher, Wartbarkeit, Ausführungszeit, Löschen, Namenskonvention usw. Gemessen werden kann
Ich denke, wenn jemand all diese Szenarien im Auge behält, während er Code schreibt, muss dieser Code besser sein.
Daher denke ich die meiste Zeit an all diese Szenarien, wenn ich Code schreibe. 🙂

Ich habe einen kompletten Poker-Bot für ein webbasiertes Pokerspiel geschrieben. Nachdem ich es eingerichtet habe, lief es ganz von alleine. Es war besser als ich beim Gewinnen – ich bin kein großartiger Pokerspieler, und die Wahrscheinlichkeit, dass es für jede Hand eine Rechenaufgabe gab, reichte aus, um einen Vorteil daraus zu ziehen.

Ich habe Tambola (Bingo) mit JavaScript und Sitzungsspeicher erstellt – JavaScript – Tambola Board – Quellcode – SessionStorage, Random

IP-Adresse Konfigurationsprogramm

Sprachsteuerung in Javascript und socket.io, um YouTube-Videos in Echtzeit abzuspielen.

Ich schreibe nicht immer Javascript, aber wenn ich es tue, enthält es so etwas wie:
<% = Javascript_Include_Tag-Parameter [: Controller]%> oder <% = Stylesheet_Link_Tag-Parameter [: Controller]%>

Code, der funktionierte und angemessen dokumentiert wurde.

alert (‘test’)

while(true) 'I LOVE MY PARENTS!';

// Vielleicht gemein, aber aufrichtig