Передача Node.js V8 по ссылке

Интересно, как память управляется в V8. Взгляните на этот пример:

function requestHandler(req, res){
  functionCall(req, res);
  secondFunctionCall(req, res);
  thirdFunctionCall(req, res);
  fourthFunctionCall(req, res);
};

var http = require('http');
var server = http.createServer(requestHandler).listen(3000);

Переменные reqи resпередаются при каждом вызове функции, мой вопрос:

  1. Передает ли V8 это по ссылке или делает копию в памяти?
  2. Можно ли передавать переменные по ссылке, посмотрите на этом примере.

    var args = { hello: 'world' };
    
    function myFunction(args){
      args.newHello = 'another world';
    }
    
    myFunction(args);
    console.log(args);
    

    Последняя строка console.log(args);напечатает:

    "{ hello: 'world', newWorld: 'another world' }"
    

Спасибо за помощь и ответы:)

11
задан Francesco Boi 16 July 2018 в 09:07
поделиться