javascript<1>

1.为了避免全局变量冲突问题
解决措施:单例模式
var person1={
name:xxx,
age:xxx
}
单例模式优点:1.避免变量名冲突
2.可以进行模块化开发
1)本模块之间各方法的相互调用:this.属性名;
2)不同模块之间的相互调用:模块名.属性名;
缺点:必须一个个手动开发,属于传统的手工作业模式,效率低,而且有大量的冗余代码;
解决措施:封装–工厂模式;
2.工厂模式的思路:3步骤
1.创建一个空对象 –引进一批原材料
2.给这个空对象添加属性和方法; –原材料进行加工
3.输出对象 return obj; –输出原材料;
工厂模式的调用 var p1=person();
系统创建实例 var p1=new Person()
3.构造函数模式和工厂模式的区别:
1)当函数调用时
工厂模式的调用 var p1=person();
构造函数 var p1=new Person()
2)在函数体内的区别:
工厂模式:1.手动创建对象 2.给对象添加属性和方法 3.手动输出对象
构造函数模式:1.系统自动创建对象 2.给对象添加属性和方法 3.系统自动输出对象;
4.构造函数模式
1)为什么要使用构造函数模式:
以前接触的系统提供的类:’Array’ ‘Date’ ‘Object’ ‘String’ ‘Number’….
var ary=new Array();
目的:为了实现一个自定义的类;并且可以创建一个实例;
function Person(){}
var p1=new Person;
2)构造函数需要注意的几点:
1.构造函数就是 实例 和 类 打交道
实例:就是一个对象
类:就是一个函数; –所有的类都是函数;
var ary=new Array;
ary.instanceOf Array; //检测当前这个实例ary是否属于Array这个数组类;
2.构造函数中放的属性和方法都是私有的;
3.当构造函数调用的时候 new Person();如果()中没有参数,那么,()可以省略;
4.构造函数中的this,永远指向当前创建的实例;
5.构造函数的实例,只跟this.xxx=xxx;有关系,跟变量没有任何关系;
6.构造函数中,系统会自动返回一个对象,如果我们手工返回的话:
1)return 基本数据类型; 不会有任何影响
2)return 引用数据类型;会影响系统返回的对象;原有的实例就不再具有它的属性和方法了
3)构造函数的缺点:对于相同功能的方法,却不相等;
解决措施:把相同功能的方法,放在prototype原型上;–原型,就是一个公共的区间,用来存放相同功能的方法;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值