美文网首页那些年 程序员的样子
面向对象 解决增删改查

面向对象 解决增删改查

作者: bo_bo_bo_la | 来源:发表于2017-12-21 20:59 被阅读19次

面向对象

1. 用构造函数方法

构造函数类似于类,但不是类,在ES6出来之前常规用法。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div class="wrap"></div>
        姓名:<input class="addName" type="text" /> 电话:<input class="addPhone" type="text" /><button onclick="addPhone()">添加电话</button><br />
        姓名:<input class="searchName" type="text" /><button onclick="searchBtn()">查询电话</button><br />
        姓名:<input class="delName" type="text" /><button onclick="delBtn()">删除电话</button><br />
    </body>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script type="text/javascript">
        var data = [{name:"张三",tel:"11111111"},{name:"李四",tel:"2222222"}];
        function PhoneBook(data){
            this.data = data;
        }
        PhoneBook.prototype.showPhone = function(){
            console.log(1111111)
            $('.wrap').html("");
            var html = "";
            console.log(this.data)
            for(let i = 0; i < this.data.length;i++){
                html += `<p>姓名:${this.data[i].name};电话:${this.data[i].tel}</p>`;
            }
            $(html).appendTo(".wrap");
        }
        PhoneBook.prototype.addPhone = function(name, tel){
            var obj = {name,tel};
            this.data.push(obj);
        }
        PhoneBook.prototype.searchPhone = function(name){
            for(var i = 0; i < this.data.length; i++){
                if(name == this.data[i].name){
                    alert(this.data[i].tel)
                }
            }
        }
        PhoneBook.prototype.delPhone = function(name){
            for(var i = 0; i < this.data.length; i++){
                if(name == this.data[i].name){
                    this.data.splice(i,1);  
                }
            }
        }
        var newPhoneBook = new PhoneBook(data);
        newPhoneBook.showPhone();
        function addPhone(){
            console.log(11111)
            var myName = $('.addName').val();
            var myTel = $('.addPhone').val();
            newPhoneBook.addPhone(myName, myTel);
            newPhoneBook.showPhone();
        }
        function searchBtn(){
            var myName = $('.searchName').val();
            newPhoneBook.searchPhone(myName);
        }
        function delBtn(){
            var myName = $('.delName').val();
            newPhoneBook.delPhone(myName);
            newPhoneBook.showPhone();
        }
    </script>
</html>

1. 用类方法

ES6出来之后,逐渐取代构造函数,代表着JS越来越像正规军靠近

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div class="wrap"></div>
        姓名:<input class="addName" type="text" /> 电话:<input class="addPhone" type="text" /><button onclick="addPhone()">添加电话</button><br />
        姓名:<input class="searchName" type="text" /><button onclick="searchBtn()">查询电话</button><br />
        姓名:<input class="delName" type="text" /><button onclick="delBtn()">删除电话</button><br />
    </body>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script type="text/javascript">
        var data = [{name:"张三",tel:"11111111"},{name:"李四",tel:"2222222"}];
        class PhoneBook{
            constructor(data){
                this.data = data;
            }
            showPhone(){
                $('.wrap').html("");
                var html = "";
                for(let i = 0; i < this.data.length;i++){
                    html += `<p>姓名:${this.data[i].name};电话:${this.data[i].tel}</p>`;
                }
                $(html).appendTo(".wrap");
            }
            addPhone(name, tel){
                var obj = {name,tel};
                this.data.push(obj);
            }
            searchPhone(name){
                for(var i = 0; i < this.data.length; i++){
                    if(name == this.data[i].name){
                        alert(this.data[i].tel)
                    }
                }
            }
            delPhone(name){
                for(var i = 0; i < this.data.length; i++){
                    if(name == this.data[i].name){
                        this.data.splice(i,1);  
                    }
                }
            }
        }
        var newPhoneBook = new PhoneBook(data);
        newPhoneBook.showPhone();
        function addPhone(){
            var myName = $('.addName').val();
            var myTel = $('.addPhone').val();
            newPhoneBook.addPhone(myName, myTel);
            newPhoneBook.showPhone();
        }
        function searchBtn(){
            var myName = $('.searchName').val();
            newPhoneBook.searchPhone(myName);
        }
        function delBtn(){
            var myName = $('.delName').val();
            newPhoneBook.delPhone(myName);
            newPhoneBook.showPhone();
        }
    </script>
</html>

相关文章

  • 面向对象 解决增删改查

    面向对象 1. 用构造函数方法 构造函数类似于类,但不是类,在ES6出来之前常规用法。 1. 用类方法 ES6出来...

  • DAY2

    面向对象tab栏,完成增删改查HTML代码: JS代码:

  • 对象属性的增删改查

    python中对象的属性支持增删改查 属性的增删改查 1.查(获取对象属性) 对象.属性 - 获取指定对象指定属...

  • mysql的插入语句

    MySQL增删改查之增insert、replace

  • Python版学生管理系统

    在家闲的无聊用Python面向对象写了一个简单的学生管理系统,可以进行增删改查,这是最基本的了;面向对象也是Pyt...

  • MYSQL数据库的增删改查

    MYSQL数据库的增删改查 一.对于库的增删改查 增create database 库名称;create data...

  • 18-集合

    集合的认识与增删改查 1 集合 1.1 什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以...

  • JavaScript防篡改对象

    preventExtensions:不能增,能删改seal:不能增删,能改freeze:不能增删改 对象属性增删改...

  • 关于python的list的增查删改

    说到增查删改,想起了数据库,我们在关系型数据库当中就会对表进行增查删改。 在python当中我们也可以对list进...

  • FMDB-使用

    FMDB 增删改查 FMDB 优点:[1] 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码[2] 对比苹果...

网友评论

    本文标题:面向对象 解决增删改查

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