javascript对象基础(使用对象)---1对象、属性、方法的基本操作

字符串、数字、true、false、null和undefined之外,javascript的值都是对象

一、对象的分类:

           1. 原生对象:

                                   Object、Function、Array、String、Boolean、Number、Date、RegExp、

                                   Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URLError

            2.宿主对象:非javascript定义的对象,是由javascript寄宿的环境定义

                               Window、Document、History、Location、Screen、Navigator、Body、Form、Event

二、对象的常见用法是:

     创建create、设置set、查找query、删除delete、检测test、枚举enumerate

     对象的基本操作:创建对象  引用对象   销毁对象

     1、创建对象

           1.1使用构造函数创建对象

             var o=new Object();  //创建一个空对象(不包含任何属性和方法的空对象)

             var o=new Array(); //空的数组对象(继承数组的属性和方法)

             var o=new MyClass();//自定义对象

            1.2使用直接量创建对象

             var o={};//创建的空对象直接量

             var o={x:1,y:false,name:'zhang',add:'shenzhen'}//创建包含数据的对象直接量

     2.引用对象:存储在变量中的值只是引用对象的地址,而不是对象本身

            o={x:1,y:true}

              o1=o;

             alert(delete o);//删除变量o,返回true

             alert(o1.x);//1,说明对象依然在

              alert(o.x);//提示没有定义对象

     3.销毁对象:javascript自动回收无用的存储单元,对象没有被任何变量引用,则处于废除状态,相当于o=null(对于不用的对象可习惯这样写成这样,将对象废弃节省空间)

        var  o={x:1,y:true}

        o=null;//定义对象引用变量为null,即废除对象

         alert(o.x);//提示系统错误,找不到对象

        属性基本操作:定义属性、访问属性、赋值和删除属性

      1.定义属性

        1.1对象结构体内定义属性: 3层嵌套对象结构(虽然包含不同属性名y,但属于不同的作用域,因此不会冲突)

   var o={//一级对象

                x:1,

                y:{//二级对象

                      x:3,

                      y:{//三级对象

                            x:3,

                             y:false

                    }}}

          1.2  对象结构体外定义属性:

                 var o={};

                 o.x=1;

                  o.y={

                         x:2,

                         y:true

                      }

          1.3构造函数定义属性

            var o=function(){

              this.x=1;

                 this.y={                   

                          x:1,

                         y:true

                  }

               }

         2.访问属性:

             alert(o.y.y.y)//若读取 属性不存在,不会抛异常,返回undefined

             alert(o["y"]["y"]["y"])

             for(var i in o){alert(o[i])}//使用数组操作方式读取属性,属性没有固定显示顺序,同时也只能够枚举自定义的属性

         3.赋值和删除属性

              var o={x:1,y:2}

                o.x=2;

                o["y"]=1;

               delete o.x;

          4.对象的方法:本质是一种值为函数的属性

              4.1结构体内定义-

                var o={x:function(){alert(this.y)}}//--this访问当前对象的属性y的值

                o.x(); //undefined

                var f=o;

                  f.y=2; f.x();//2

              4.2结构体外定义-

                var o={}   o.x=function(a){return 10*a;}

                var f=o.x(5);alert(f);//50

         4.3构造方法

           4.3.1

  function who(){alert(this.name)}//定义一个抽象方法

      var  o=new Object();

           o.name="o";

           o.who=who;//绑定抽象方法

       var f=new Object();

           f.name="f";

           f.who=who;//绑定抽象方法

           o.who();//"o"

            f.who();//"f"

     4.3.2

        function f(){return this.x+this.y}

         function MyClass(x,y){this.x=x;this.y=y;this.add=f}

         var o=new MyClass(10,20);

         alert(o.add())//30

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值