• JavaScript基础-面向对象编程<2>


    2.动态添加,修改和删除对象属性和方法

    例如:用类Object()创建一个空对象user,然后修改其行为。

    (1) 添加属性

    var user=new Object(); //创建一个没有属性和方法的空对象
    user.name="jack"; //添加属性name
    user.age=21; //添加属性age
    user.sex="male"

    若输出结果,可用alert(user.name)等语句进行显示。

    (2)添加方法

    针对前面的空对象user,添加一个方法 alert():

    user.alert=function(){
            alert("my name is:"+this.name);
      }

    调用:user.alert(); //可显示其名字为jack

    (3)修改属性和方法

    修改就是用新属性替换旧属性。

    例如:

    user.name="tom";
    user.alert=function(){
          alert("hello,"+this.name); //这时的方法中name属性已经已经替换为tom
    }

    若用弹出对话框显示其内容,user.alert()值为 "hello,tom"。

    (4)删除属性和方法

    其实,删除属性或方法就是将其值定义为undefined,即

    user.name=undefined;
    user.alert=undefined;

    3.使用大括号语法创建无类型对象

    其语法为:

    {
        property1:statement,
        property2:statement,
        .......,
        propertyN:statementN
    
    }

    这里通过使用大括号,使多个属性或方法成为一个组,实现对象的定义。

     示例 :使用大括号语法创建一对象

    <script language="javascript" type="text/javascript">
       var obj={ }; //定义一个空对象, 等同于 var obj=new Object();
       var user={
               name:"jack", //定义name属性并赋初值
               favoriteColor:["red","green","black"], //定义颜色数组
               hello:function(){ //定义方法
                        alert("hello"+this.name);
                  },
               sex:"male"
       }
          user.hello(); //调用方法
    
    </script> 

    4.prototype对象

    每个函数其实也是一个对象,它们对应的类是 function. 它们具有特殊的身份,每个函数对象都具有一个子对象prototype,即prototype表示了该函数的原型。而函数也是

    类,prototype就是表示了一个类的成员集合。

     既然 protoype是一个对象,也可以动态地对其属性和方法进行修改

     例如:

    function class1(){
         // 空函数
    }
    
    class1.protoype.method=function(){ // 增加方法
             
               alert("it's a text method");
    }
        var obj1 =new class1();
        obj1.method; //调用对象方法
  • 相关阅读:
    HTML和CSS
    springcloud中配置多数据源
    洛谷 P3800 Power收集(单调队列优化dp)
    洛谷 P2569 [SCOI2010]股票交易(单调队列优化dp)
    洛谷 P3957 [NOIP2017 普及组] 跳房子(二分,单调队列优化dp)
    洛谷 P1419 寻找段落(01分数规划,实数二分,单调队列)
    Prometheus(普罗米修斯)和grafana监控的安装和使用
    AMC如何管理NPL
    linux 正则表达式与字符处理
    react-router-dom switch & match
  • 原文地址:https://www.cnblogs.com/blinzhang/p/4491908.html
Copyright © 2020-2023  润新知