JavaScript实现面向对象

Posted 稀里糊涂林老冷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript实现面向对象相关的知识,希望对你有一定的参考价值。

 1         /*
 2                 js实现面向对象的方法
 3             */
 4             
 5             // 1 工厂模型  不推荐        
 6             function Person(name , sex , age){
 7                     obj = {};
 8                     obj.name = name;
 9                     obj.sex = sex;
10                     obj.age = age;
11                     obj.say = function(){
12                         alert(this.name +" "+this.sex+" "+this.age);
13                     };
14                     return obj;
15                 }
16                 
17                 var p1 = Person("z3","女",18);
18                 p1.say();
19             
20             
21             
22             
23             // 2 构造函数方式     推荐
24             // 创建类的时候 第一个字母要大写  这是一种规范
25             function Person(name , sex , age){
26                 this.name = name;
27                 this.sex = sex;
28                 this.age = age;
29                 this.say = function(){
30                     alert(this.name +" "+this.sex+" "+this.age);
31                 };
32             }
33             var p2 = new Person("z3","男",18);
34             //p2.say();
35             var p3 = new Person("z4","女",20);
36             //p3.say();
37             
38             
39             //obj.constructor是obj的构造函数
40             alert(p2.constructor== Person );    //true
41             
42             // 检验一个实例是不是 某实例的对象 instanceOf
43             alert(p2 instanceof Person);    //true
44             alert(p2 instanceof Object); //true   js中一切都是object的对象
45             
46             
47             
48             
49             // 3 不推荐使用的,绑定方法发利用call 或者apply
50             function Person(name , sex , age){
51                 this.name = name;
52                 this.sex = sex;
53                 this.age = age;
54                 this.say = function(){
55                     alert(this.name +" "+this.sex+" "+this.age);
56                 };
57             }
58             var o = new Object();
59             //利用call 可以绑定对象 给o绑定一个Person对象实例,内容是o之后的参数
60             Person.call(o,"z3","男",19);
61             o.say();
62             

 

以上是关于JavaScript实现面向对象的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

JavaScript之面向对象

JavaScript--面向对象class继承

面向对象的JavaScript --- 动态类型语言

JavaScript-05-笔记