0
如何擴展一個對象與更多的鍵從另一個腳本來?Javascript擴展對象與其他腳本中的新鍵
所以我有這個需要主腳本,在這裏我創建一個通用對象,我將在整個項目中使用。
現在另一個腳本我已經是創造基本的項目信息,我想有這個主要對象以及
所以我需要main.js看起來是這樣的:
//my main object
var mainObj = mainObj || {};
require.config({
paths: {
leaflet: './leaflet-0.7.3',
bootstrap: './vendors/bootstrap.min',
projectInfo: './project-info'
},
shim: {
'bootstrap': {
deps: ['projectInfo'],
export: 'bootstrap'
},
}
});
define(['projectInfo'], function(projectInfo) {
'use strict';
mainObj = {
//HERE I NEED THE PROJECTINFO OBJECTS
projection: projectInfo.projection,
version: projectInfo.projection
};
} );
這裏是與projectInfo腳本:
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define([], factory);
} else if (typeof exports === 'object') {
module.exports = factory();
} else {
factory(root);
}
}(this, function() {
return {
projection: {
type: 'EPSG:4326',
proj4: '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs',
resolutions: [1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1, 0.5],
tilesMap: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
tilesSat: 'http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}'
},
version: '0.0.1'
};
}));
這工作,howeverdon't希望有「複製」手工的信息,我寧願只用該信息一氣呵成擴展這個mainObj /一條線。
有沒有辦法做到這一點,而不必編寫另一個腳本來做到這一點?
在此先感謝!
謝謝!但如果你是不使用下劃線? – BonifatiusK 2014-11-25 14:54:25
@BonifatiusK:['Object.assign'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)。 – 2014-11-25 14:56:48
@BonifatiusK:你也可以使用jQuery的[extend](http://api.jquery.com/jquery.extend/)函數。 – soulprovidr 2014-11-25 14:58:53