对象数组的值传递(在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