Javascript,对象数组?
Javascript, Array of Objects?
我有点 JS 菜鸟,但我有很好的 .net 经验。
我在移动设备上工作 website/app,我从自定义网络服务中收集了一些类似于企业列表的数据。
在 .net 上,此时我会开始构建一个自定义 class,其中包含其他 "business-listing-classes" 的列表。然后,我将逐步浏览列表中的每个自定义对象,并在屏幕上使用它。
两个问题:
- 我的 javascript 方法是否应该与上述不同?
- 这可以在 Javascript 中完成吗?
我知道 javascript 没有 classes persè,我知道您可以使用自定义函数作为 "class"。然后我只是实例化一堆不同版本的自定义函数,并将它们全部添加到一个数组中吗?
我几乎觉得我应该坚持使用它们的 json 格式?或者构建简单的数组? (根据我到目前为止从 Javascript 中学到的知识......)
我是不是设计过度了?我不确定正确的 javascript 方法是什么。
老实说,这取决于你想用这个做什么array
如果您要通过 XMLHTTPRequest
发送它,那么我建议您应该使用 JSON
格式。
var arr_of_objs = [{},{}]; //fill it up however you need it
如果此数组将由具有相同 attributes/properties
的对象组成,并且您打算使用此 客户端,则创建 "classes"最优。
var person = function(o){
this.name = o.name || 'unknown';
this.height = o.age || -1;
}
var arr_of_classes = [];
for(var i = 0; i < 10; i++){
arr_of_classes.push(new person({
name: 'name' + i,
age: 10 + i
}));
}
为什么到此为止?您甚至可以创建自定义 class 来处理实例。
(function(){
var person = function(o){
this.name = o.name || 'unknown';
this.height = o.age || -1;
}
var personHandler = function(){
if(!(this instanceof personHandler)){
return new personHandler();
}
this.persons = [];
}
personHandler.fn = personHandler.prototype = {
load: function(){
for(var i = 0; i < 10; i++){
this.persons.push(new person({
name: 'name' + i,
age: 10 + i
}));
}
},
remove: function(index){
//do stuff
}
}
//export it
window.personHandler = personHandler;
})();
那你就简单了。
personHandler().load();
我有点 JS 菜鸟,但我有很好的 .net 经验。
我在移动设备上工作 website/app,我从自定义网络服务中收集了一些类似于企业列表的数据。
在 .net 上,此时我会开始构建一个自定义 class,其中包含其他 "business-listing-classes" 的列表。然后,我将逐步浏览列表中的每个自定义对象,并在屏幕上使用它。
两个问题:
- 我的 javascript 方法是否应该与上述不同?
- 这可以在 Javascript 中完成吗?
我知道 javascript 没有 classes persè,我知道您可以使用自定义函数作为 "class"。然后我只是实例化一堆不同版本的自定义函数,并将它们全部添加到一个数组中吗?
我几乎觉得我应该坚持使用它们的 json 格式?或者构建简单的数组? (根据我到目前为止从 Javascript 中学到的知识......)
我是不是设计过度了?我不确定正确的 javascript 方法是什么。
老实说,这取决于你想用这个做什么array
如果您要通过 XMLHTTPRequest
发送它,那么我建议您应该使用 JSON
格式。
var arr_of_objs = [{},{}]; //fill it up however you need it
如果此数组将由具有相同 attributes/properties
的对象组成,并且您打算使用此 客户端,则创建 "classes"最优。
var person = function(o){
this.name = o.name || 'unknown';
this.height = o.age || -1;
}
var arr_of_classes = [];
for(var i = 0; i < 10; i++){
arr_of_classes.push(new person({
name: 'name' + i,
age: 10 + i
}));
}
为什么到此为止?您甚至可以创建自定义 class 来处理实例。
(function(){
var person = function(o){
this.name = o.name || 'unknown';
this.height = o.age || -1;
}
var personHandler = function(){
if(!(this instanceof personHandler)){
return new personHandler();
}
this.persons = [];
}
personHandler.fn = personHandler.prototype = {
load: function(){
for(var i = 0; i < 10; i++){
this.persons.push(new person({
name: 'name' + i,
age: 10 + i
}));
}
},
remove: function(index){
//do stuff
}
}
//export it
window.personHandler = personHandler;
})();
那你就简单了。
personHandler().load();