方式一:
// 增强字面量
function createBookShop(inventory){
return {
inventory:inventory,
inventoryValue:function(){/**
* reduce()对数组每个元素执行回调函数,返回值用于下一次计算参数,
* total初始值为0,让每一个进来的价格相加
*/
return this.inventory.reduce((total,book) => total +book.price,0);
},
priceForTitle:function(title){//传入'Angular'
// return this.inventory.find((book) => book.title === title).price;//15
return this.inventory.find((book) => {
// console.log(book)
if(book.title === title){
return book.price;//{title: "Angular", price: 15}
}
});
}
}
}
const inventory = [//把数组传入createBookShop方法中
{title:'vue',price:10},
{title:'Angular',price:15}
];
const bookShop = createBookShop(inventory);
console.log(bookShop.inventoryValue())//25
console.log(bookShop.priceForTitle('Angular'))//15,返回书名对应的价格
所谓的增强字面量的方法就是对方法进行简化:
// 增强字面量
function createBookShop(inventory){
return {
// inventory:inventory,相同的键和值;我们可以只用一个
inventory,
// inventoryValue:function(){//函数可以简化成如下
inventoryValue(){
/**
* reduce()对数组每个元素执行回调函数,返回值用于下一次计算参数,
* total初始值为0,让每一个进来的价格相加
*/
return this.inventory.reduce((total,book) => total +book.price,0);
},
priceForTitle(title){//传入'Angular'
// return this.inventory.find((book) => book.title === title).price;//15
return this.inventory.find((book) => {
// console.log(book)
if(book.title === title){
return book.price;//{title: "Angular", price: 15}
}
});
}
}
}
const inventory = [//把数组传入createBookShop方法中
{title:'vue',price:10},
{title:'Angular',price:15}
];
const bookShop = createBookShop(inventory);
console.log(bookShop.inventoryValue())//25
console.log(bookShop.priceForTitle('Angular'))//15,返回书名对应的价格
方式二:
function saveFile(url,data){
$.ajax({
url,//url:url
data,//data:data
method:'POST',
success(back) {
console.log(back)
},
error(error){
console.log(error)
}
});
}
const url = "http://fileupload.com";
const data = {
color:"red"
}
saveFile(url,data)