Dieses Kapitel enthält keine ausführliche Erklärung einiger der zugrunde liegenden Prinzipien von js, wie z. B. Zeiger, Umfang und Prototypen. Es beinhaltet einige Dinge, die zur Vereinfachung des Codes und zur Verbesserung der Ausführungseffizienz während der täglichen Entwicklung beitragen oder können Als empirische Methode ist die Länge nicht lang und Sie können den gesamten Artikel in kleinen Schritten lesen und die Freude am Programmieren erleben.
Erhalten Sie Zufallszahlen innerhalb von zwei Intervallen
function getRandomNum(Min, Max){ // Zufallszahlen innerhalb von zwei Intervallen abrufen
// @ Backfire Crazy schlug vor, dass der erste Parameter möglicherweise größer als der zweite Parameter ist, daher ist es zuverlässiger, etwas mehr Urteilsvermögen hinzuzufügen
Wenn (Min > Max)
Max = [Min, Min = Max][0]; // Zwei Variablenwerte schnell austauschen
var Range = Max - Min 1;
var Rand = Math.random();
Gibt Min Math.floor(Rand * Range); zurück
};
Gibt zufällig einen positiven/negativen Parameter zurück
function getRandomXY(num){ // Gibt zufällig einen positiven/negativen Parameter zurück
num = neue Zahl(num);
If (Math.random() <= 0.5)
num = -num;
Rückgabenummer;
}
setInterval() oder setTimeOut() Timer-Funktion, die Parameter übergibt
var s = 'Ich bin ein Parameter';
Funktion fn(args) {
console.log(args);
}
var a = setInterval(fn(s),100); // xxxxxx Fehler xxxxx
var b = setInterval(function(){ // Richtig, verwenden Sie eine anonyme Funktion, um die zeitgesteuerte Funktion aufzurufen
fn(s);
}, 100);
setInterval() oder setTimeOut() Timer ruft rekursiv
var s = true;
Funktion fn2(a, b){ // Schritt 3
Wenn (s) {
clearInterval(a);
clearInterval(b);
}
};
function fn(a){ // Schritt 2
var b = setInterval(function(){
fn2(a, b) // Zwei Timer übergeben
}, 200)
};
var a = setInterval(function(){ // Schritt 1
fn(a); // b stellt den Timer selbst dar, der als Sitzparameter übergeben werden kann
}, 100);
// Keine neue Zahl (String) oder Zahl (String) erforderlich. Subtrahieren Sie einfach Null von der Zeichenfolge
var str = '100'; // str: String
var num = str - 0;// num: Zahl
var s = ''; // Leere Zeichenfolge
if(!s) // Die leere Zeichenfolge wird standardmäßig in Boolean false konvertiert und kann direkt in die Urteilsanweisung geschrieben werden
if(s != null) // Aber leere Zeichenfolge != null
if(s != undefiniert) // Leerer String auch != undefiniert
// Die folgende Konvertierung ist 0 im IE und 1 in anderen Browsern. Dies hängt mit dem Basissystem zusammen, das der IE-Browser zur Interpretation von Zahlen verwendet
var iNum = parseInt(01);
// Daher ist die kompatible Schreibmethode
var num = parseInt(new Number(01));
//Firebug verfügt über ein integriertes Konsolenobjekt, das integrierte Methoden zum Anzeigen von Informationen bereitstellt
/**
* 1: console.log(), das als Ersatz für alarm() oder document.write() verwendet werden kann, unterstützt Platzhalterausgabe, Zeichen (%s), Ganzzahlen (%d oder %i), Gleitkommazahlen (%f). ) und Objekt (%o). Zum Beispiel: console.log("%d Jahr %d Monat %d Tag", 2011,3,26)
*2: Wenn zu viele Informationen vorhanden sind, können diese in Gruppen angezeigt werden. Die verwendeten Methoden sind console.group() und console.groupEnd()
*3: console.dir() kann alle Eigenschaften und Methoden eines Objekts anzeigen
* 4: console.dirxml() wird verwendet, um den HTML/XML-Code anzuzeigen, der in einem Knoten der Webseite enthalten ist
* 5: console.assert()-Behauptung, wird verwendet, um zu bestimmen, ob ein Ausdruck oder eine Variable wahr ist
* 6: console.trace() wird verwendet, um den Aufruf-Trace der Funktion zu verfolgen
* 7: console.time() und console.timeEnd(), werden verwendet, um die Laufzeit des Codes anzuzeigen
* 8: Die Leistungsanalyse (Profiler) besteht darin, die Laufzeit jedes Teils des Programms zu analysieren und herauszufinden, wo der Engpass liegt. Die verwendete Methode ist console.profile()....fn....console.profileEnd( )
*/
Ermitteln Sie schnell die aktuelle Uhrzeit in Millisekunden
// b ist nicht null: a=b, b ist null: a=1.
var a = b ||. 1;
// Die häufigere Verwendung besteht darin, Parameter an eine Plug-in-Methode zu übergeben und das Ereigniszielelement abzurufen: event = event || window.event
// IE hat ein window.event-Objekt, FF jedoch nicht.
// Die Methode verfügt über das Prototypattribut des Objektprototyps, aber die Originaldaten haben dieses Attribut nicht, z. B. var a = 1, a hat nicht das Prototypattribut
function Person() {} // Personenkonstruktor
Person.prototype.run = function() { Alert('run...'); } // Prototyp-Ausführungsmethode
Person.run(); // Fehler
var p1 = new Person(); // Nur bei Verwendung des neuen Operators wird die Prototyp-Ausführungsmethode p1 zugewiesen
p1.run(); // ausführen...
// Berechnen Sie den Wochentag, an dem die aktuelle Systemzeit ist
var Week = „Heute ist: Woche“ „Tag eins, zwei, drei, vier, fünf, sechs“.charat(new date().getDay());
/**
* Abschluss: Jeder js-Methodenkörper kann als Abschluss bezeichnet werden. Dies geschieht nicht nur, wenn eine Inline-Funktion auf einen Parameter oder ein Attribut einer externen Funktion verweist.
* Es verfügt über einen unabhängigen Bereich, in dem es mehrere Unterbereiche geben kann (d. h. verschachtelte Methoden). Am Ende ist der Abschlussbereich der Bereich der äußersten Methode
* Es enthält seine eigenen Methodenparameter und die Methodenparameter aller eingebetteten Funktionen. Wenn also eine eingebettete Funktion extern eine Referenz hat, ist der Referenzbereich der (oberste) Methodenbereich, in dem sich die referenzierende Funktion befindet
*/
Funktion a(x) {
Funktion b(){
Alert(x); // Verweis auf externe Funktionsparameter
}
Geben Sie b; zurück
}
var run = a('run...');
// Durch die Erweiterung des Geltungsbereichs können die Variablen der externen Funktion a referenziert und angezeigt werden
run(); // alarm(): run..
Adressparameterzeichenfolge abrufen und regelmäßig aktualisieren
// Fragezeichen erhalten? Der folgende Inhalt enthält Fragezeichen
var x = window.location.search
// Den Inhalt nach der Polizeinummer # abrufen, einschließlich der #-Nummer
var y = window.location.hash
// Verwenden Sie den Timer, um die Webseite automatisch zu aktualisieren
window.location.reload();
/**
* Der Typ „Undefiniert“ hat nur einen Wert, der undefiniert ist. Wenn eine deklarierte Variable nicht initialisiert wurde, ist der Standardwert der Variablen undefiniert.
* Der Null-Typ hat auch nur einen Wert, nämlich null. Null wird verwendet, um ein Objekt darzustellen, das noch nicht existiert. Es wird oft verwendet, um anzuzeigen, dass eine Funktion versucht, ein nicht existierendes Objekt zurückzugeben.
* ECMAScript geht davon aus, dass undefiniert von null abgeleitet ist, sodass sie als gleich definiert sind.
* Wenn wir jedoch in manchen Fällen zwischen diesen beiden Werten unterscheiden müssen, was sollten wir dann tun? Sie können die folgenden zwei Methoden verwenden
* Bei der Beurteilung ist es am besten, bei der Beurteilung, ob ein Objekt einen Wert hat, die starke Typbeurteilung „===“ zu verwenden.
*/
var a;
Alert(a === null); // false, weil a kein leeres Objekt ist
Alert(a === undefiniert); // true, da a nicht initialisiert ist, ist der Wert undefiniert
// Erweiterung
Alert(null == undefiniert); // true, da der Operator „==“ eine Typkonvertierung durchführt,
//Ähnlich
alarm(1 == '1'); // true
warning(0 == false); // true, false werden in den Zahlentyp 0 konvertiert
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn