JavaScript中使用push方法传入对象和独立参数的区别是什么
两段
addToCart代码的功能差异 核心差异为调用Array.push()时传入的参数不同,最终cart数组的存储结构完全不同:
- 第一段代码:
传入的是{product, quantity}这一个对象参数,会将商品名和对应数量封装为单一对象,作为一个整体元素追加到cart数组末尾。
例如调用addToCart("苹果", 2)后,cart会新增1个元素:
这种写法符合购物车业务逻辑,后续遍历{product: "苹果", quantity: 2}cart时可以直接通过item.product、item.quantity获取单个条目的完整信息。 - 第二段代码:
传入的是product、quantity两个独立参数,push方法会把两个参数依次作为两个独立元素追加到cart数组末尾。
同样调用addToCart("苹果", 2)后,cart会新增2个元素:
这种写法会打乱购物车的条目结构,后续无法直接对应商品和所属数量,属于逻辑错误的实现。"苹果", 2
举个实际调用的对比示例:
连续执行两次调用:
addToCart("苹果", 2); addToCart("香蕉", 3);
第一段代码输出的cart结构:
[ {product: "苹果", quantity: 2}, {product: "香蕉", quantity: 3} ]
第二段代码输出的cart结构:
["苹果", 2, "香蕉", 3]
内容的提问来源于stack exchange,提问作者mightycode Newton
相关产品推荐
相关产品推荐

