javascript面相对象编程

javascript面相对象编程
OOP
抽象:抓住核心问题
封装:只能通过对象访问方法
继承:从已有对象继承出新的对象
多态:多对象的不同形态

  1. 工厂模式和构造函数
function createPerson(name){
    var obj = {};
    obj.name = name;
    obj.sayName = function(){
            alert(this.name)
   }
    return obj;
}


var p1 = createPerson('xx').sayName();    //xx

当new去调用一个函数始,this指向该创建出来的对象,后面的函数叫做构造函数

改造 构造函数

function createPersonname){
        this.name = name;
        this.sayName = function(){
                alert(this.name);
        }

}

var p2 = new createPerson('xxx');
p2.sayName(); //xxx

3.对象引用的问题

基本类型:值的复制
对象类型: 引用的传递和值得复制

原型:去改写对象公共的方法和属性,内存存一份,提高性能

普通方法:css中的style 优先级高
原型:css中的class

protopyte 要写在构造函数的下面

function createPersonname){
        this.name = name;  //变化的不能放入原型

}
createPerson.protopyte.sayName = function(){
      alert(this.name);    //公共的方法
}

面向对象编程变形
1.先变形
2.尽量不要出现函数嵌套函数
3.可以有全局变量
4.把onload中不是赋值的语句放在单独的函数中

全局变量就是属性
函数就是方法
onload中创建对象
改this 的this尽量指向对象

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值