Heim > Web-Frontend > js-Tutorial > Hauptteil

Anweisungen zur Verwendung der buffer.slice-Methode in node.js_node.js

WBOY
Freigeben: 2016-05-16 16:27:45
Original
1437 Leute haben es durchsucht

Methodenbeschreibung:

Gibt ein neues Pufferobjekt zurück. Dieser neue Puffer teilt sich den gleichen Speicher wie der alte Puffer.

Aber reduziert um Start- und Endindex-Offsets. (Wenn sich beispielsweise 1 bis 10 Bytes in einem Puffer befinden und wir nur 4 bis 8 Bytes benötigen, können wir diese Funktion buf.slice(4,8) verwenden. Da sie denselben Speicher gemeinsam nutzen, verbrauchen sie keinen Speicher . ,)

Da der Speicher gemeinsam genutzt wird, wird nach der Änderung des neuen Puffers auch der Inhalt des alten Puffers geändert.

Grammatik:

Code kopieren Der Code lautet wie folgt:

buffer.slice([Start], [Ende])

Empfangsparameter:

Start Startposition, Standard

end Endposition, Standard ist Pufferlänge

Beispiel:

Erstellen Sie einen Puffer mit dem ASCII-Alphabet, verwenden Sie die Slice-Funktion und ändern Sie dann ein Byte im ursprünglichen Puffer.

Code kopieren Der Code lautet wie folgt:

var buf1 = neuer Puffer(26);
für (var i = 0 ; i < 26 ; i ) {
buf1[i] = i 97; // 97 ist ASCII a
}
var buf2 = buf1.slice(0, 3);
console.log(buf2.toString('ascii', 0, buf2.length));
buf1[0] = 33;
console.log(buf2.toString('ascii', 0, buf2.length));
// abc
// !bc

Quellcode:

Code kopieren Der Code lautet wie folgt:

// TODO(trevnorris): funktioniert derzeit wie Array.prototype.slice(), das
// folgt nicht dem neuen Standard für das Auslösen von Indizes außerhalb des Bereichs.
Buffer.prototype.slice = function(start, end) {
var len = this.length;
start = ~~start;
end = util.isUndefined(end) ? len : ~~end;
if (start < 0) {
Start = len;
Wenn (Start < 0)
Start = 0;
} else if (start > len) {
Start = len;
}
if (end < 0) {
Ende = len;
Wenn (Ende < 0)
Ende = 0;
} else if (end > len) {
Ende = len;
}
if (end < start)
Ende = Anfang;
var buf = new NativeBuffer();
SliceOnto(this, buf, start, end);
buf.length = end - start;
if (buf.length > 0)
buf.parent = util.isUndefined(this.parent) ? this : this.parent;
Rückgabe buf;
};
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!