Constructor and prototype


1. function Employee(){
2. this.name='';
3. this.dept='general';
4. }
5. Employee;
6.
7. var Manager = new Employee();
8.
9. Manager.reports = [];
10.
11. Manager;
12.
13. function WorkerBee(){
14. this.projects = [];
15. }
16.
17. WorkerBee.prototype = new Employee;
18.
19. WorkerBee;

/*Note: Directly assigning to FunctionName.prototype removes its original prototype's "constructor" property. As a result, (new WorkerBee).constructor yields "Employee" (instead of expected "WorkerBee"). Care must be taken to preserve the original prototype's constructor. For instance, assign the parent to FunctionName.prototype.__proto__ instead. For example, WorkerBee.prototype.__proto__ = new Employee; This way, (new WorkerBee).constructor yields expected "WorkerBee".*/

What’s the different between line 7 and 17? And at the bottom, what are they referring to? Speaking of?