JavaScript面向对象编程入门

Posted 轴轴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 //调用我们创建对象Teacher
34  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面向对象编程入门的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript面向对象编程入门

JavaScript面向对象轻松入门之封装(demo by ES5ES6TypeScript)

JavaScript面向对象编程

javascript的面向对象的编程介绍书籍都有哪些

面向对象入门(封装)

对象-JavaScript入门基础(016)