Rumah >hujung hadapan web >tutorial js >Arahan untuk menggunakan kaedah buffer.slice dalam node.js_node.js

Arahan untuk menggunakan kaedah buffer.slice dalam node.js_node.js

WBOY
WBOYasal
2016-05-16 16:27:451488semak imbas

Penerangan kaedah:

Mengembalikan objek penimbal baharu ini berkongsi memori yang sama seperti penimbal lama.

Tetapi dikurangkan dengan mengimbangi indeks permulaan dan akhir. (Sebagai contoh, jika terdapat 1 hingga 10 bait dalam penimbal, dan kami hanya mahu 4-8 bait, kami boleh menggunakan fungsi ini buf.slice(4,8). Kerana mereka berkongsi memori yang sama, mereka tidak akan menggunakan memori .,)

Oleh kerana memori dikongsi, selepas mengubah suai penimbal baru, kandungan penimbal lama juga akan diubah suai.

Tatabahasa:

Salin kod Kod adalah seperti berikut:

buffer.slice([mula], [akhir])

Terima parameter:

mulakan Kedudukan permulaan, lalai

akhir Kedudukan tamat, lalai ialah panjang penimbal

Contoh:

Buat penimbal menggunakan abjad ASCII, gunakan fungsi hirisan dan kemudian ubah suai bait dalam penimbal asal.

Salin kod Kod adalah seperti berikut:

var buf1 = Penampan baharu(26);
untuk (var i = 0 ; i < 26 ; i ) {
buf1[i] = i 97; // 97 ialah 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

Kod sumber:

Salin kod Kod adalah seperti berikut:

// TODO(trevnorris): pada masa ini berfungsi seperti Array.prototype.slice(), yang
// tidak mengikut piawaian baharu untuk melontar indeks di luar julat.
Buffer.prototype.slice = fungsi(mula, tamat) {
var len = this.length;
mula = ~~mula;
end = util.isUndefined(end) ? len : ~~end;
jika (mula < 0) {
Mula = len;
Jika (mula < 0)
Mula = 0;
} lain jika (mula > len) {
Mula = len;
}
jika (akhir < 0) {
Tamat = len;
Jika (akhir < 0)
Tamat = 0;
} lain jika (akhir > len) {
Tamat = len;
}
jika (akhir < mula)
Tamat = mula;
var buf = new NativeBuffer();
sliceOnto(ini, buf, mula, tamat);
buf.length = tamat - mula;
jika (buf.length > 0)
buf.parent = util.isUndefined(this.parent) ? ini : this.parent;
Kembalikan buf;
};
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn