• javaScript对象


    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>创建对象</title>
    </head>
    <body>
    <script type="text/javascript">
       //创建一个学生对象
        var  student=new Object();
       /*对象的属性*/
        student.name="小黑";
        student.age=50;
        student.address="黄土高坡";
        /*对象的行为   函数*/
        student.showInfo=function(){
            document.write("姓名:"+this.name);
            document.write("年龄:"+student.age);
            document.write("地址:"+this.address);
        }
       /*调用方法*/
        student.showInfo();
    </script>
    </body>
    </html>
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>通过字面量赋值的方式创建对象</title>
    </head>
    <body>
    <script type="text/javascript">
       /*创建一个学生对象
       *  {中的内容是json数据格式}
       *  特点就是 ---》
       *  属性名1:属性值1,
       *  属性名2:属性值2,
       *  属性名3:属性值3
       *
       *  student就是一个变量,也是一个对象
       * */
        var  student={
            /*对象的属性*/
            name:"小白",
            age:50,
            address:"地狱",
            /*对象的行为   函数*/
            showInfo:function(){
                document.write("姓名:"+this.name+"<br/>");
                document.write("年龄:"+this.age+"<br/>");
                document.write("地址:"+this.address+"<br/>");
            },
            showName:function(){
                document.write("姓名:"+this.name+"<br/>");
            }
        }
       /*调用方法*/
        student.showInfo();
    </script>
    </body>
    </html>
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>通过构造函数创建多个对象</title>
    </head>
    <body>
    <script type="text/javascript">
        /*Student必须首字母大写    所有对象公用的构造方法*/
        function Student(name,age,address){
            /*给属性赋值*/
           this.name=name;
           this.age=age;
           this.address=address;
            /*设置方法*/
           this.showInfo=function(){
               document.write("姓名:"+this.name+"<br/>");
               document.write("年龄:"+this.age+"<br/>");
               document.write("地址:"+this.address+"<br/>");
           };
           this.showName=function(){
               document.write("姓名:"+this.name+"<br/>");
           }
        }
        //真正的对象
        var  stu1=new Student("小黑",50,"上海1");
        var  stu2=new Student("小白",60,"上海2");
        var  stu3=new Student("小红",70,"上海3");
        /*调用对象的方法*/
        stu1.showName();
        stu2.showName();
        stu3.showInfo();
    
        /*所有的对象都有一个constructor属性 指向了构造方法*/
        alert(stu1.constructor==Student);
        /*instanceof  判断对象是否属于某个类型*/
        alert(stu1 instanceof  Student);
        alert(stu1 instanceof  Object);
    
    </script>
    </body>
    </html>
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>原型对象</title>
    </head>
    <body>
    <script type="text/javascript">
       /*创建一个构造函数*/
        function  Student(){
    
        }
        /*每个函数中都有一个prototype(原型对象)
        * 这个属性就是一个指针,指向了一个对象!
        *
        * prototype就是通过构造函数来创建这个对象实例的原型对象!
        * */
        Student.prototype.name="小黑";
        Student.prototype.age=50;
        Student.prototype.address="天堂";
        /*书写方法*/
        Student.prototype.showInfo=function(){
            document.write("姓名:"+this.name+"<br/>");
            document.write("年龄:"+this.age+"<br/>");
            document.write("地址:"+this.address+"<br/>");
        };
        Student.prototype.showName=function(){
            document.write("姓名:"+this.name+"<br/>");
        }
        /*创建对象*/
        var stu1=new Student();
        stu1.name="哈哈";
        stu1.showInfo();
    </script>
    </body>
    </html>
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>原型链</title>
        <!-- 原型链: 一个原型对象 是另一个原型对象的实例!
         相关的原型对象层层递进,就构成了 实例与原型对象的链条!-->
    </head>
    <body>
    <script type="text/javascript">
        /*创建了一个动物构造函数*/
         function  Animal(){
             this.name="动物类";
         }
        /*写了一个获取名称的方法*/
        Animal.prototype.getName=function(){
            return this.name;
        }
        Animal.prototype.sayHello=function(){
            return "动物好";
        }
    
    
        /*创建一个小狗狗构造函数*/
        function  Dog(){
            this.name="小狗";
        }
        /*Dog原型对象是Animal原型对象的实例*/
        Dog.prototype=new Animal();
        Dog.prototype.getName=function(){
            return this.name;
        }
        /*重写父类中的方法*/
        Dog.prototype.sayHello=function(){
            return "小狗好";
        }
    
        /*创建小狗对象*/
        var  dog=new Dog();
        document.write(dog.getName());  //自身的方法
        document.write(dog.sayHello());  //自身的方法
    
        var  animal=new Animal();
        document.write(animal.getName()); //自身的方法  动物
    
    </script>
    </body>
    </html>
    <body>
    <script type="text/javascript">
         function  Person(){
             this.names=["小黑","小红","小豆腐"];
         }
        function  Student(){
    
        }
        //让学生继承 Person
        Student.prototype=new Person();
        //创建一个学生对象
        var  stu1=new Student();
        stu1.names.push("小白");
        document.write(stu1.names);
    
        //再创建一个对象
         var  stu2=new Student();
         document.write(stu2.names);
    </script>
    </body>
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>借用构造函数</title>
    </head>
    <body>
    <script type="text/javascript">
         function  Person(){
             this.names=["小黑","小红","小豆腐"];
         }
    
        function  Student(){
            Person.call(this);  //继承了 Person
        }
        //创建一个学生对象
        var  stu1=new Student();
        stu1.names.push("小白");
        document.write(stu1.names+"<br/>");
        //再创建一个对象
         var  stu2=new Student();
         document.write(stu2.names);  //没有小白!
    </script>
    </body>
    </html>
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>借用构造函数 传递参数</title>
    </head>
    <body>
    <script type="text/javascript">
         function  Person(name){
            this.name=name;
         }
         function  Student(){
             Person.call(this,"小黑");  //继承了 Person的同时 传递了参数
             this.age=50;
        }
        //创建学生对象
        var  stu=new Student();
        document.write(stu.name);
        document.write(stu.age);
    </script>
    </body>
    </html>
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>组合继承</title>
    </head>
    <body>
    <script type="text/javascript">
        /*构造方法*/
         function  Person(name){
            this.name=name;
             this.names=["hei","bai","pei"];
         }
        Person.prototype.sayHello=function(){
            alert(this.name);
        }
    
    
        function  Student(name,age){
            Person.call(this,name); //继承属性
            this.age=age;
        }
        Student.prototype=new Person();//继承了方法
        //student特有的方法
        Student.prototype.sayBey=function(){
            alert(this.name);
        }
        /*创建对象*/
        var  stu=new Student("小黑黑",50);
        stu.names.push("小白白");
        document.write(stu.names+"<br/>");
         stu.sayHello();
         stu.sayBey();
    
        var  stu1=new Student("小黑黑2",50);
        document.write(stu1.names+"<br/>");
         stu1.sayHello();
         stu1.sayBey();
    
    </script>
    </body>
    </html>
  • 相关阅读:
    【Ogre编程入门与进阶】第二章 Ogre相关知识回顾 【转载】
    Ogre1.7.2 + CEGUI0.7.5环境配置 【转载】 需要配制出自己的基础环境
    JS_模拟广告栏跟随效果
    JS_模拟电商网站放大镜效果
    JS_图片轮播事件
    JS_DOM事件之鼠标事件之随鼠标移动
    JS_DOM之小球随鼠标移动事件
    JS_DOM事件温习
    JS_原型和继承之小案例
    JS_生成随机矩形位置/矩形大小_面向对象_原型+构造函数模式
  • 原文地址:https://www.cnblogs.com/999-/p/6599447.html
Copyright © 2020-2023  润新知