Javascript new Array()返回对象类型
这实际上是angularJS,但是我正在初始化cart=new数组;当我安慰你的时候,我会说;它记录对象。而且cart.push也会失败并出现错误,因为它属于object类型 你知道我怎样才能得到一个数组吗 cart.push失败并出现错误,因为它属于object类型 那不是真的。在JavaScript中,typeof[]==typeof新数组===='object' 由于其他原因,您的代码必须失败 编辑: 错误:undefined不是一个函数,评估“cart.pushproduct”是准确的错误 这可能意味着您已经在某个地方覆盖了变量cart,它不再是数组 setCart:functionc{cart=cJavascript new Array()返回对象类型,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,这实际上是angularJS,但是我正在初始化cart=new数组;当我安慰你的时候,我会说;它记录对象。而且cart.push也会失败并出现错误,因为它属于object类型 你知道我怎样才能得到一个数组吗 cart.push失败并出现错误,因为它属于object类型 那不是真的。在JavaScript中,typeof[]==typeof新数组===='object' 由于其他原因,您的代码必须失败 编辑: 错误:undefined不是一个函数,评估“cart.pushproduct”是准确的错
这可能是罪魁祸首吗?var-cart=[];不客气。@BrianDriscoll-typeof[]==objecttypeof javascript中的所有内容都是object。您真正要检查的是instanceofBtw,setCart和emptyCart都不会重置价格。您可能不想重置价格。@xCoder:cart.push失败,因为它是object类型。-您可以发布准确的错误消息吗?@xCoder我可以建议您阅读以下内容:.Chrome吗开发工具让你的生活更轻松。
app.factory('Shop', function() {
var price = 0;
var cart = new Array();
return {
totalPrice: function() { return price; },
setTotalPrice: function(newPrice) { price = newPrice; },
addToPrice: function(addedPrice) { price += addedPrice; },
getCart: function() { return cart; },
setCart: function(c) { cart = c; for (product in cart) { if (product.price) { addToPrice(product.price); } } },
addToCart: function(product) { console.log(typeof(cart)); cart.push(product); addToPrice(product.price); },
emptyCart: function() { cart = []; }
};
});