Javascript 从缓冲区创建新对象

Javascript 从缓冲区创建新对象,javascript,node.js,Javascript,Node.js,我想构建一个与NodeJS中的缓冲区对象类似的对象 function Header (type) { this.type = type; this.color = "red"; this.fromBuffer = function(b) { console.log(X); }; } var b = Buffer.alloc(16); var hd = Header.fromBuffer(b); 这段代码根本不起作用。 我想创建一个新的

我想构建一个与NodeJS中的缓冲区对象类似的对象

function Header (type) {
    this.type = type;
    this.color = "red";
    this.fromBuffer = function(b)
    {
        console.log(X);
    };
}

var b  = Buffer.alloc(16);
var hd = Header.fromBuffer(b);
这段代码根本不起作用。 我想创建一个新的Header对象,它从缓冲区加载数据。 这怎么可能


谢谢大家!

如果缓冲区包含JSON数据,则可以执行以下操作:

function Header (type) {
    this.type = type;
    this.color = "red";
    this.fromBuffer = function(b)
    {
        var data = JSON.parse(b.toString());
        this.type = data.type;
        this.color = data.color;
        return this;
    };

  return this;
}

var b  = new Buffer.from(JSON.stringify({type:"1", color: "blue"}));
var hd = new Header().fromBuffer(b);  
console.log(hd);
输出:

Header { type: '1', color: 'blue', fromBuffer: [Function] }
如果缓冲区中只有字符串数据(假设是颜色),则可以调用
b.toString()


ArrayBuffer
是最接近节点Buffer的东西,但我不确定您要做什么。fromBuffer()未定义为Header类上的静态函数,因此您需要创建Header实例,而不是使用Header.fromBuffer()。我只是将其称为fromBuffer,它与Buffer对象无关。我也可以称之为Header.LoadStuffFromBuffer();看起来不错,但实际上不一样。让我解释一下:我想要一个类似于Buffer.from(xy);。我想创建一个新的Header对象,并从缓冲区或类似的地方加载数据that@Bob目前还不清楚…缓冲区的格式是什么?var b=new Buffer.alloc(16);是一个用零填充的二进制缓冲区。如果要创建一个名为b的新缓冲区,可以调用函数buffer.alloc(16)。如何创建名为header的自定义对象?var hd=新标题。来自(某物)。原型应该是什么样子的?好的,那么您希望如何从零中获得颜色名称呢?您首先需要知道缓冲区中有什么才能从中提取数据。不需要颜色,我只需要找到一种方法来创建一个新的Header对象。它可以是一根线,一种颜色,或者任何东西。我只想知道如何得到一个可以这样调用的函数:“var hd=new Header.LoadFromX(一些缓冲区/或颜色/或其他);
function Header (type) {
    this.type = type;
    this.color = "red";
    this.fromBuffer = function(b)
    {
        this.color = b.toString();
        return this;
    };

    return this;
}

var b  = new Buffer.from("blue");
var hd = new Header(1).fromBuffer(b);
console.log(hd);