1. JavaSrcipt的面向对象编程
JavaScript的面向对象编程和大多数其他语言,如Java、C#的面向对象编程都不太一样。
在JavaScript中,不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程。而Java、C#等面向对象编程,是要定义类Class,然后再实例化为Instance。
1.1 JavaScript创建原型继承的一种方法:Object.create()方法传入一个原型对象,并创建一个基于该原型的新对象。
// 原型对象:
var Student = {
name: '张三',
height: 1.8,
run: function () {
console.log(this.name + ' is running...');
}
};
function createStudent(name) {
// 基于Student原型创建一个新对象:
var objStudent = Object.create(Student);
// 初始化新对象:
objStudent.name = name;
return objStudent;
}
var obj_xiaoming = createStudent('小明');
obj_xiaoming.run();
obj_xiaoming.__proto__ === Student; // true