javascript笔记整理(六)

本文深入探讨了JavaScript中的面向对象编程模式,包括基础模式、工厂模式、构造函数模式、原型模式、继承以及借用构造函数等。通过这些模式,可以更好地理解和组织JavaScript代码,提高代码复用性和可维护性。同时,文章指出了各种模式的优缺点,并提供了优化建议。
摘要由CSDN通过智能技术生成

面向对象:万物皆对象

(电脑){
	    声卡:(属性名)     可以换掉(属性值)
	    cpu:
	    键盘:
	    屏幕:
       }


1.基础模式
	var web2101=[{
		name:'',
		age:20,
		gender:'men',
		tel:xxxx,
		address:'',
		专业:xxx
	},{
		name:'',
		age:20,
		gender:'men',
		tel:xxxx,
		address:'',
		专业:xxx
	},{
		name:'',
		age:20,
		gender:'men',
		tel:xxxx,
		address:'',
		专业:xxx
	},....];


2.工厂模式
	function createStudent(name,age,gender){	
		var obj=new Object();
		obj.say=function(){}
		obj.name=name;
		obj.age=age;
		obj.gender.gender;
		return obj //内部声明的obj想要在外部调用 返回obj即可
	}


	var stu1=createStudent("lisi",20,'men');//{name:,age:,gender:,say:}

	var stu2=createStudent('tom',30,'women');

	优点:简化了基础模式的代码量
	缺点:
		 1.对象不能细分
		 2.浪费内存(内置函数)

	解决2.:
		 将共有函数声明在工厂函数外部,在函数内部将指针指向共有函数

3.构造函数模式
	new Object()

	new Array()

	new Date()

	function Student(name,age,gender){
		//this->student:name
		this.name=name;
		this.age=age;
		this.gender=gender;

	}

	var stu1=new Student('lisi',20,'men');

	优点:
		解决对象细分问题
	缺点:
		公有属性/方法 外置


4.原型模式
	将所有共有的属性和方法存放在构造函数的原型对象中
	所有的实力对象能够调用,以及构造函数的原型对象也能调用
		function Student(name,age){
			this.name=name;
			this.age=age;
		}

		Student.prototype.say=function(){
			alert("say------");
		}
		var stu1=new Student("lisi",20);
		var stu2=new Student('tom',30);
5.继承
	父类
	子类
	子类的原型指向父类的实例
	父类的实例指向子类的构造函数(将子类的constructor属性指向子类构造函数)
	Poor.prototype=new Rich();
	Poor.prototype.constructor=Poor;
	
6.借用构造函数
	Rich.call(this,name,age);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值