1.JS中继承有什么作用

需要让JS中的对象能连起来

受Java抽象化思想的影响,设计出了继承,

编码过程中可扩展性非常重要,后面新需求扩展写出的新代码不影响以前的代码,降低增加需求带来的修改难度

1. JS用new创建对象,实例间的属性是不共享的

1
2
3
4
5
6
7
8
        function Dog() {
            this.name = '小黑';
        }
        let dog1 = new Dog();
        let dog2 = new Dog();
        dog1.name = '大黄';
        console.log(dog1.name); // 大黄
        console.log(dog2.name); // 小黑

某些情况下,数据不能共享,就是一种资源浪费

2.例子

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 1.需求1
// 根据客人购买的商品单价和数量生成所购商品的价格

// 客人购买商品的数量
let goodsAmount = {
    '方便面': 5,
    '火腿肠': 10,
    '牙刷': 2,
    '纸巾': 10
}

// 客人购买商品的单价

let goodsPrice = {
    '方便面': 3,
    '火腿肠': 2,
    '牙刷': 3,
    '纸巾': 6
}

function totalPrice() {
    let totalPrice = Object.keys(goodsAmount).reduce((acc, cur) =>
        acc += goodsPrice[cur] * goodsAmount[cur], 0
    )
    console.log(totalPrice);
}
totalPrice();

遇到一个问题:

多运行几次会发现结果出人意料