1、OOP指什么,有哪些特性?
OOP(Object Oriented Programming),面向对象程序设计,是一种计算机编程架构。
OOP特性:
封装性:将一个类的使用和实现分开,只保留部分接口和方法与外部联系。
继承性:子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者对部分属性和方法进行重写。
多态:允许不同类的对象对同一消息作出不同响应(对象可通过传递不同参数实现相同的动作)。
2、如何通过构造函数的方式创建一个拥有属性和方法的对象?
function Person(name){
this.name = name;
this.sayName = function(){
console.log('Name is ' + this.name)
}
}
var Person1 = new Person('Yun');
Person1.name; //Yun
Person1.sayName(); //Name is Yun
3、prototype 是什么?有什么特性?
每个函数都有一个prototype属性,指向原型对象。
每个对象都有个内部属性proto,指向构造函数的prototype属性。
4、代码的原型图
5、以下代码中的变量age区别
function People (){
var age = 1 // 函数People的局部变量age
this.age = 10; //实例变量,通过People函数创建的实例可以访问此变量
}
People.age = 20; //People的age属性
People.prototype.age = 30; //People对象的原型上的属性