JAVASCRIPT
VUE
REACT
NODE
ES6
TYPESCRIPT

Js面向对象(oop)之封装

2017. 05. 27    

JS面向对象(OOP)之封装

构造函数执行流程:

  • 创建一个新对象;
  • 将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象);
  • 执行构造函数中的代码(为这个新对象添加属性);
  • 返回新对象。
function Person(name, age, sex){
	this.name = name;
	this.age = age;
	this.sex = sex;
	this.type = '人类';
	this.love = 'play';
}

Person.prototype.hobby = function(){
	alert(this.love)
}

var wang = new Person("王",20,'男')
console.log(wang.age) // 20
wang.hobby() //play

console.log(wang)//Person{name: "王", age: 20, sex: "男", type: "人类", love: "play"}

isPrototypeOf()

判断某个proptotype对象和某个实例之间的关系

alert(Person.prototype.isPrototypeOf(wang)) //true

instanceof

验证原型对象与实例对象之间的关系

console.log(wang instanceof Person) //true

for…in… 遍历某个对象的所有属性

for( var item in wang){
	console.log(item)
}
//name
//age
//sex
//type
//love
//hobby