瀟湘沐
2019-02-27 17:12:17
Node緩沖區拷貝語法為:buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])接下來舉例寫的代碼都是這樣的:var buf1 = Buffer.from('abcdefghijkl');var buf2 = Buffer.from('RUNOOB');//將 buf2 插入到 buf1 指定位置上buf2.copy(buf1, 2);console.log(buf1.toString());我看語法中用到了中括號,可是實際寫的時候也沒有加中括號,為什么語法中會出現中括號,還是因為這是一種約定成俗的規則呢?自己也試著嘗試了一下,我看也不用加中括號呀var buf1 = Buffer.from("abcdefghijklmnopqrstuvwxyz");var buf2 = Buffer.from("123456789");buf2.copy(buf1 , 2 , 3 , 4);console.log(buf1.toString());//ab4defghijklmnopqrstuvwxyz謝謝大家的解答!^ ^
2 回答
絕地無雙
TA貢獻1946條經驗 獲得超4個贊
這個是介紹語法時提示可選參數,就拿
buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
它代表著有buf.copy(targetBuffer)——完整拷貝緩沖區到目標區域,且覆蓋目標區域從頭開始的位置
或buf.copy(targetBuffer, targetStart)——完整拷貝緩沖區到 目標緩沖區targetStart開始的位置
或buf.copy(targetBuffer, targetStart, sourceStart)—— 從源緩沖區sourceStart開始的位置拷貝數據到 目標緩沖區targetStart開始的位置
或buf.copy(targetBuffer, targetStart, sourceStart, sourceEnd)——從源緩沖區拷貝sourceStart至sourceEnd 間的數據 到 目標緩沖區targetStart開始的位置
等4種用法,其中:
targetBuffer——目標緩沖區
targetStart ——目標緩沖區被覆蓋起始位置
sourceStart ——源緩沖區拷貝起始位置
sourceEnd ——源緩沖區拷貝結束位置
你自己后來測試舉例比較少,沒有真正了解這些用法的目的,對于諸如壓縮/解壓縮,或者加密/解密等等算法或者其他一些復雜的算法實現中,就會用到后面的功效。
添加回答
舉報
0/150
提交
取消
