JS_5_自定义类

JS的类比较死板,它的对象不会共享方法。

 


 创建一个类:

  格式:

function 类名(形参){
    this.属性名 = 形参;
    ...
    this.属性名 = "值";
...
this.方法名 = function(形参){ 方法体; } }

在JS中,类的方法并不共享,每创建一个对象都会给它单独分配一个方法。为了做到方法共享,节省资源,使用关键字prototype声明变量为共享变量(方法)。

所以创建类的格式一般为:

function 类名(形参){
    this.属性名 = 形参;
    ...
    this.属性名 = "值";
   ... } 类名.prototype.方法名
= function(形参){ 方法体; }

创建一个对象:

var 对象名 = new 类名(参数);

访问其它对象的属性方法:

  创建一个prototype变量连接上其它类的对象,即可访问其属性、方法。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>学习使用类</title>
        <script type="text/javascript">
            //创建A类
            function A(name,age){
                this.name = name;
                this.age = age;
                this.sex = "";
            }
            A.prototype.speak = function(some){
                document.write(some);
                document.write("<br>");
            }
            
            //创建B类
            function B(){
                this.sex = "";
            }
            
            //创建变量BtoA,实现B类连接上A类
            B.prototype.BtoA = new A("lurenjia",18);
            
            //创建B类对象
            var cls2 = new B();
            
            //B对象调用A类方法
            cls2.BtoA.speak("hello");
            
            //B对象获取A对象属性
            document.write(cls2.BtoA.sex);
            document.write("<br>");
            document.write(cls2.BtoA.name);
        </script>
    </head>
    <body>
    </body>
</html>

运行结果:

 

posted @ 2023-01-14 10:22  在博客做笔记的路人甲  阅读(37)  评论(0编辑  收藏  举报