![](/img/trans.png)
[英]How do I access the properties of objects that are placed a javascript object?
[英]How do I create Objects in Javascript, so I can later access their properties?
我使用以下代码用对象填充数组:
orders.push(getOrder(orderName, sender));
...
function getOrder (orderName, sender){
this.orderName = orderName;
this.orderDate = new Date();
this.sender = sender;
console.log('Created order object.\n orderName: '+ orderName + '\n orderDate: ' + this.orderDate.getTime())}
稍后尝试访问数组中的对象时,收到一条错误消息,提示“无法读取未定义的属性'orderDate'”。 这是我用来访问对象的代码:
dishEmitter.on('checkIfReady', function(){
orders.forEach(function(order){
console.log(order);
var now = new Date();
if(Math.abs((now.getTime() - order.orderDate.getTime()) / 1000) >= 5){
broadcast('Your ' + order.orderName + ' is ready!', order.sender);
orders.splice(indexOf(order),1);
}
})
})
我正在编写一个小的示例应用程序,以了解有关nodejs的一些知识。 我要做的就是创建一个订单,并在5秒钟后准备好订单(向订购的客户返回一些消息)
getOrder
未被用作构造函数,因此, this
引用实际上指向的对象与返回的对象不同。 将其更改为function Order()
,然后使用orders.push( new Order() )
调用:
function Order(orderName, sender) {
this.orderName = orderName;
this.orderDate = new Date();
this.sender = sender;
}
用法:
dishEmitter.on('order', function(orderName, sender){
orders.push( new Order( orderName, sender ) );
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.