我在网上看到了这个代码,这是它的内容。
OFFSET
这就是我不舒服的地方。函数在{calculatePrice:_calculatePrice}中返回一个未定义的对象。这真的有用吗?我认为只返回_calculatePrice
是没有害处的答案 0 :(得分:0)
首先是第1行错字:将shoppingcart
更改为shoppingCart
var shoppingCart = (function() {
var _calculatePrice = function() {
return this.price * this.amount;
};
return {
calculatePrice: _calculatePrice
}
})();
var goods = {
name: 'hammer',
price: 199,
amount: 2
}
console.log(shoppingCart.calculatePrice.call(goods))

<强>解释强>
返回的对象是:
{
calculatePrice: _calculatePrice
}
它的属性calculatePrice
是变量_calculatePrice
。
_calculatePrice
引用一个返回计算出的数字的函数。
.call()
函数可帮助您在全局范围内调用函数。这就是为什么计算函数使用this.price
&amp; this.amount
。
答案 1 :(得分:-1)
有一个拼写错误:你宣布一个var shoppingcart,然后用C而不是c称它为shoppingCart。
尝试将de var声明更改为:var shoppingCart = ....