美文网首页
js面向对象基础操作3-类

js面向对象基础操作3-类

作者: likeli | 来源:发表于2017-12-21 19:14 被阅读0次

JS类是用来取代构造函数的一种方法,用法会比构造函数简单一点,不会像构造函数一样,只继承属性不继承原型,类会把所有都继承过来。
例如:

  class Person{
        //类最开始的时候执行
        constructor(name,age){
            this.name=name;
            this.age=age;
        }
        hobby(){
            console.log("喜欢篮球");
        }
        showname(){
            console.log(this.name);
        }
    }
    //      类的继承
    class Student extends Person{
        constructor(name,age){
            super(name,age);//用来传递参数给父级
        }
        action(){
            console.log("我是action函数")
        }
    }
    var newstudent=new Student("李四",19)
    console.log(newstudent.name);
    newstudent.hobby();
27E7A4FE-44CF-4451-A64E-3ED4A9375C51.png

上面那个简单的例子就可以说明,以后在写项目的时候就会经常使用类,所有说掌握类是非常重要的
下面再举一个小例子用来进一步了解使用类的简单与方便
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>
    <div id="wrap">

    </div>
    姓名:<input type="text" name="" id="myname" value="" /> 电话:
    <input type="text" name="" id="tel" value="" />
    <button id="btn1" onclick="adds()">添加</button>
    <br /> 姓名:
    <input type="text" name="" id="smyname" value="" /> 电话:
    <input type="text" name="" id="stel" value="" />
    <button id="btn2" onclick="search()">查找</button>
    <br /> 姓名:
    <input type="text" name="" id="cmyname" value="" /> 电话:
    <input type="text" name="" id="ctel" value="" />
    <button id="btn2" onclick="del()">查找</button>
    <br />
</body>
<script type="text/javascript">
    class Photobook {
        constructor(data) {
            this.data = data;
            console.log(this.data);
        }
        show() {
            var html = "";
            for(var i = 0; i < this.data.length; i++) {
                html += `<p>姓名是:${this.data[i].name} 电话是:${this.data[i].tel}</p>`;
            }

            document.getElementById("wrap").innerHTML = html;
        }
        add(name, tel) {
            var obj = {
                name,
                tel
            };
            this.data.push(obj);
        }
        searchs(name) {
            for(var i = 0; i < this.data.length; i++) {
                if(name == this.data[i].name) {
                    alert("姓名是" + name + ", 电话是:" + this.data[i].tel)
                }
            }
        }
        del(name) {
            for(var i = 0; i < this.data.length; i++) {
                if(name == this.data[i].name) {
                    this.data.splice(i, 1);
                    i--; //为了保证不会影响删除一个之后影响以下进行操作
                }
            }
        }
    }

    var data = [{
        name: "张三",
        tel: "123"
    }, {
        name: "李四",
        tel: "889897"
    }];
    var newphoto = new Photobook(data);
    newphoto.show();
    console.log(newphoto)

    function adds() {
        var name = document.getElementById("myname").value;
        var tel = document.getElementById("tel").value;
        newphoto.add(name, tel);
        newphoto.show();
    }
    //查找
    function search() {
        var name = document.getElementById("smyname").value;
        var tel = document.getElementById("stel").value;
        newphoto.searchs(name);
    }
    //删除
    function del() {
        var name = document.getElementById("cmyname").value;
        var tel = document.getElementById("ctel").value;
        newphoto.del(name);
        newphoto.show();
    }
</script>
</html>

相关文章

  • js面向对象基础操作3-类

    JS类是用来取代构造函数的一种方法,用法会比构造函数简单一点,不会像构造函数一样,只继承属性不继承原型,类会把所有...

  • JS面向对象基础操作2

    构造函数 类似于类的概念 约定俗成 首字母大写 简单举个例子:function Dog(name, age, se...

  • js面向对象基础操作1

    面向对象与面向过程 定义面向过程:是一种以过程为中心的编程思想。,注重解决问题的步骤分析问题需要的每一步,实现函数...

  • 理解js面向对象的最佳姿势

    在传统的面向对象语言中,类是最基础的概念之一,然而在es6之前,js是没有类的,但它却又面向对象,这就是本文要讨论...

  • JS面向对象

    JS面向对象入门 1、面向对象语言概念面向对象语言主要包括 类、对象、封装、多肽。2、面向对象的编程思想面向过程思...

  • 面向对象

    title:面向对象tags: 基础,Java 面向对象 面向对象程序设计简介 面向对象的基本思想是使用类、对象、...

  • Python面向对象(基础)

    面向对象 Python是支持面向对象的,面向对象编程是一种程序设计思想。 类和实例(基础) 面向对象最重要的就是类...

  • 17.Swift学习之类

    类介绍 Swift虽然推荐面向协议编程,但其也是一门面向对象开发的语言 面向对象的基础是类,类产生了对象(类的实例...

  • JS面向对象精要(二)_函数

    JS面向对象精要(一)_原始类型和引用类型JS面向对象精要(二)_函数JS面向对象精要(三)_理解对象JS面向对象...

  • JS面向对象精要(三)_理解对象

    JS面向对象精要(一)_原始类型和引用类型JS面向对象精要(二)_函数JS面向对象精要(三)_理解对象JS面向对象...

网友评论

      本文标题:js面向对象基础操作3-类

      本文链接:https://www.haomeiwen.com/subject/vgtzwxtx.html