js 面向对象

1  js对象的组成  有方法和属性

js中有 方法  函数 事件处理函数 构造函数  其实这四个都是函数,只是作用不同。函数是独立的存在 方法属于一个对象 事件处理函数处理一个事件  构造函数用来构造对象

window对象

function show(){

alert(this)

show()

会弹出 [object Window]  说明全局函数属于window。上面定义的show()等于为window添加一个方法,全局的函数和变量都是属于window的  等价于下面

window.show(){

alert(this)

window.show();

2 通过object 创建简单对象

var people = new Object();

people .name = ‘yao‘;

people .age = 12;

people .alert = function(){

  alert(this.age this.name);

}

people .alert();

这种方法  有弊端  就是如果我有多个人怎么办,每次都要新建一个对象,然后添加属性、方法,这种方式是一次性的,会产生大量重复代码,这是不可取的。

工厂模式

function creatPeople(name,age){

var person  = new Object()

person.name = name;

person.age = age;

persion.alert = function(){

  alert(this.name this.age)

}

return person;

var yao = creatPeople(‘yao‘,‘20‘);

var wang = creatPeople(‘wang‘,‘18‘);

yao.alert();

wang.alert();