首页 > 代码库 > JavaScript面向对象编程入门

JavaScript面向对象编程入门

来源极客网

 1 function Person() { 2     var _this = {} //创建一个空的对象,接着我们利用这个"空的对象"承载Person的属性和方法 3     _this.sayHello = function(){ 4         alert("PHello"); 5     } 6     return _this;  7 } 8  9 function Teacher_1() {10     var _this = Person();//注意这里的语法小括号11     return _this;12 }13 14 //演示覆写父类中的方法语法15 function Teacher_2() {16     var _this = Person();17     _this.sayHello = function () {18         alert("Thello");19     }20     return _this;21 }22 //演示子类怎样调用父类的方法23 function Teacher() {24     var _this = Person();25     var surperSay = _this.sayHello;     //1.通过"赋值"的代码思想进行处理26     _this.sayHello = function () {27         surperSay.call(_this) //2.通过call()方法进行强行调用28         alert("Thello");29     }30     return _this;31 }32 33 //调用我们创建对象Teacher34  var t = Teacher();35 t.sayHello();//调用到我们在Person中声明的sayHello

自己随便定义html运行一下上面的代码,感受一下

 1 //演示用一个函数将一个function包裹起来,然后执行它 2 //第5行增加传参的情况怎样处理 3 (function(){ 4     var n = "ime"; 5     function Person(name) { 6         var _this = {} //创建一个空的对象,接着我们利用这个"空的对象"承载Person的属性和方法 7         _this._name = name; 8         _this.sayHello = function(){ 9             alert("PHello" + this._name + ":"+ n);10         }11         return _this; 12     }13     window.Person = Person; //表示将函数Person"挂"给全家变量,14 }());//大括号右边的一对小括号,是必须有的,表示自运行15 //演示了16 function Teacher(name) {17     var _this = Person(name);18     var superSay = _this.sayHello;19     _this.sayHello = function () {20         superSay.call(_this);21         alert("Thello" + _this._name);22     }23     return _this;24 }25 var t = Teacher("iwen");26 t.sayHello();

 

JavaScript面向对象编程入门