zoukankan      html  css  js  c++  java
  • JavaScript面向对象学习小结

    1,javascript中没有类的概念,是用function来模拟类;

    如声明类:function People(){  }

    2,声明方法时,People.prototype.say = function(){  alert("hello");  }

    如function Student(){   }

    Student.prototype = new People();  //student扩展自people,

    var s = new Student(); 

    s.say(); //若扩展成功,则可以实现say方法;调用的是父类People的say方法;

    3,Student.prototype.say = new function(){   alert("stu-hello");  } //子类复写父类的方法,

    var s = new Student();

    s.say();  //调用的是子类自己的方法;

    4,子类想要调用父类的say方法,

    var superSay = Student.prototype.say;

    Student.prototype.say = function(){

      superSay.call(this);//使用call来调用,弹出的就是父类中的hello;

      alert("stu-hello");

    }

    5,若在父类中的方法里传入了参数,则也要在子类的方法里传参数;

    function People(name){

      this._name = name;

    }

    function Student(name){

      this._name = name;

    }

     People.prototype.say = function(){

      alert("peo-hello"+this._name);

    }

    Student.prototype.say = function(){

      alert("stu-hello"+this._name);

    }

    6,实现封装:用小括号括起来

    (function(){

      //所有操作

      function People(){  }

      People.prototype.say = function(){  alert("hello");  }

       window.People = People; //封装之后,在外部引用这个方法的话要添加这种接口;否则引用不了

    }()   //要加分号

     封装的步骤:先是小括号,在小括号里添加一个function(){},在function的主体里加上所要执行的操作,最后在大括号外再加一个小括号,是代表执行的意思。

    7,另一种方式阐述面向对象:

    function Person() {

      var _this = {}; //声明一个空的对象

      _this.sayHello = function(){

        alert("Phello");

      }

      return _this;  //要返回_this;

    }

    function Teacher(){

      var _this = Person();   //通过将Person赋给_this;达到Teacher也可以调用父类方法的目的;

      var superSay = _this.sayHello;  //想要调用父类 的方法,先赋个值,再利用call;

      _this.sayHello = function(){  

        superSay.call();

        alert("Thello");   

       }   

      return _this;

    }

    var t = Teacher();

    t.sayHello();

  • 相关阅读:
    WordPress 常用的动作钩子
    wordpress的过滤器
    实战haslayout(实战篇)!
    wordpress函数描述之一——WordPress add_theme_support() 函数
    一些闲言碎语,好记星不如烂笔头(一)
    实战haslayout(理论篇)!
    WordPress的钩子函数之一——do_action()
    IE6变态bug总结非常好!没有错误
    Javascript参考博客
    SilverLight遍历父子控件的通用方法
  • 原文地址:https://www.cnblogs.com/RitaLee/p/7195924.html
Copyright © 2011-2022 走看看