对象数组的值传递(在NodeJS上延伸)

将一维数组的值传递

使用Array.slice()或Array.concat()即可。
在JavaScript中,复制数组(值传递)。

只有字符串和数值可以进行传值,对象不行。无法使用Array.prototype.slice()。

如果参考的对象被修改,这个改变将同时出现在新数组和原数组中。
对于字符串和数字(不是String对象或Number对象),slice会将字符串和数字复制到新数组中。即使修改其中一个数组的字符串或数字,另一个数组也不会受到影响。

如何处理对象数组?

当处理JavaScript对象时,=不仅仅是简单的值传递。

如果是对象的情况,传递的是指针的值(引用传递)。

使用Jquery的$.extend()函数。

在NodeJS中不能使用jquery.extend()。

使用终端命令行执行以下代码:
$ npm安装jquery
$ var $ = require(‘jquery’)
$ $.extend({}, object)

当你尝试在NodeJS中使用extend时,会收到一个”extend不是一个函数”的错误信息。

我想在Node.js中使用$.extend!

$ npm install extend
var extend = require('extend')
//targetObjectにobject1,object2をマージするやり方
extend(targetObject, object1, object2);

//新規にオブジェクトを生成したいときは空のオブジェクトにマージする
extend( {},{値渡ししたいオブジェクト} )

GitHub -> GitHub

广告
将在 10 秒后关闭
bannerAds