#
>
###
```javascript
//
class Bags {
constructor(props) {
this.name = props;
}
getName() {
return this.name;
}
}
//
class Star {
buyBag(bag) {
console.log(`${bag.getName()}`);
}
}
//
let star = new Star();
star.buyBag(new Bags('Coach')); //Coach
```
```javascript
//
class Bags {
constructor(props) {
this.name = props;
}
getName() {
return this.name;
}
}
//
class Assistant {
constructor(props) {
this.star = props;
}
buyBag(bag) {
this.star.buyBag(bag);
}
}
//
class Star {
buyBag(bag) {
console.log(`${bag.getName()}`);
}
}
//
let star = new Star();
let assistant = new Assistant(star);
assistant.buyBag(new Bags('Coach')); //Coach
```
###
loading`src`
```javascript
class ABigImage {
constructor() {
this.img = new Image();
document.body.appendChild(this.img);
}
setSrc(src) {
this.img.src = src;
}
}
class ProxyImage {
constructor() {
this.proxyImage = new Image();
}
setSrc(src) {
let bigImageObj = new ABigImage();
bigImageObj.img.src = './local.png'; // url
this.proxyImage.src = src;
this.proxyImage.onload = function() {
bigImageObj.img.src = src;
}
}
}
var proxyImage = new ProxyImage();
proxyImage.setSrc('Url')
```
chrome Network Disable cache slow 3G

`ABigImage``setSrc`
```
//
let aImage = new ABigImage();
aImage.setSrc('url')
```
####
-
-
-
> [Demo]()