面向对象编程中,JavaScript并不完全具备封装、继承、多态;在JavaScript中,对象是一个无序的键值对集合
封装JavaScript是具备的,将属性和方法定义到对象内部;
继承,在javascript中可以是动态属性的方式进行实现;即遍历一个对象身上的属性及方法,然后给另一个对象进行动态添加;
多态在JavaScript中没有具体的体现;
JavaScript中创建对象的几种方式:
第一种方式,字面量(可能是比较常用的一种)
var obj={
name:"张飞",
age:34
};
第二种.内置构造函数方式
var obj=new Object();
obj.name="张飞";
obj.age=34;
第三种,自定义构造函数方式
function Person(){
this.name="张飞";
this.age=34;
this.speak=function(){
console.log("说话了");
}
return;//如果return基本数据类型,不会影响使用new Person()创建对象效果的,所以这里不需要return;但如果返回object类型,将会影响;例return {};
}
var p=new Person();
p.name;
p.speak();