[英]JavaScript: Method forEach not supported from Internet Explorer
[英]JavaScript object and property not supported in Internet Explorer 8
我创建了一个具有一些属性的 JavaScript object 并将一些值放入其中:
var summaryViewObject[transactionId] = new Object();
summaryViewObject[transactionId].paymentTotal = 0;
summaryViewObject[transactionId].numberOfTransactions = 0;
summaryViewObject[transactionId].returnedPayment = false;
当我们得到像returnedPayment
等属性时,它在 IE8 中显示错误,但在 Chrome、IE9 和 Firefox 等其他浏览器中工作正常。
请帮助我了解 JavaScript object 和属性支持。
错误类型错误:无法获取属性“returnedPayment”的值:object 是 null 或未定义
这一行:
var summaryViewObject[transactionId] = new Object();
无效,因为summaryViewObject
未定义,您无法在定义它之前在其上创建[transactionId]
属性。
尝试这个:
var summaryViewObject = {};
summaryViewObject[transactionId] = {};
summaryViewObject[transactionId].paymentTotal = 0;
summaryViewObject[transactionId].numberOfTransactions = 0;
summaryViewObject[transactionId].returnedPayment = false;
此外, = new Object()
和= {};
本质上是一样的。
这应该有效:
var transactionId = 0;
var summaryViewObject = new Array();
summaryViewObject[transactionId] = ({
paymentTotal: 0,
numberOfTransactions: 0,
returnedPayment: true});
//These lines below are here to show you that you can now edit them like so:
summaryViewObject[transactionId].paymentTotal = 0;
summaryViewObject[transactionId].numberOfTransactions = 0;
summaryViewObject[transactionId].returnedPayment = false;
//should alert "false" even though we set it to true in the declaration
alert(summaryViewObject[transactionId].returnedPayment);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.