面向对象编程中,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();