四.javascript对象

目录

一.对象的介绍

    1.对象的概念

    2.对象的属性

    3.对象的方法

二.创建对象

    1.使用构造函数创建内置对象

    2.直接创建自定义对象

    3.使用自定义构造函数创建对象

三.对象的属性

    1.设置对象的属性

    2.存取对象属性

    3.属性的枚举

    4.删除对象的属性

四.构造函数

    1.创建简单的构造函数

    2.创建有默认值的构造函数

    3.创建有方法的构造函数

五.对象的原型与继承

    1.继承与覆盖

    2.原型对象

    3.修改原型对象

    4.储存对象属性

六.Object对象

    1.创建Object对象

    2.constructor属性:返回对象的构造函数

    3.toString方法:对象的字符串表示

    4.toLocalString()方法:返回对象的本地字符串表示

    5.propertyIsEnumerable()方法:判断是否是该对象的自有属性

    6.hasOwnProperty()方法:判断属性是否是继承的

    7.isPrototypeOf()方法:判断是否是原型对象

    8.valueOf()方法:返回对象的原始值

七.其它系统对象(在使用中熟悉,不作细讲)


一.对象的介绍


    1.对象的概念


        对象时一种复合型数据类型,可以将很多数据集中在一个单元中。对象通过属性来获取数据集中的数据,也可以通过方法来实现数据的某些功能

    2.对象的属性


        在JavaScript中,将包含在对象内部的变量称为对象的属性
        设置对象的属性:
        对象名.属性名
        设置对象的属性值:
        

pen.color="red";
        pen.price=20;
        pen.name="钢笔";


        取对象的属性值:
      

 var color=pen.color;
        var price=pen.price;
        var name=pen.name;

    3.对象的方法


        对象是一些数据的集合,在JavaScript中,函数也是一种特殊的数据,因此,对象中也可以包含一些函数,这些函数称为对象的方法
        对象的方法的定义及调用:
      

  var pen={
            writ:document.write("wo shi sha bi"),
            name:"sb"
        }
        pen.writ();


        上述代码段输出    wo shi sha bi

二.创建对象

    1.使用构造函数创建内置对象


        使用new运算符来调用构造函数创建对象
        例如:
      

 var myobject=new Object();
        var arr1=new Array();
        var arr2=new Array(3);
        var arr3=new Array(1,2,3,4);

    2.直接创建自定义对象


      

 var 对象名={属性名1:属性值1,属性名2:属性值2,...};


        肥肠煎蛋,不作赘述

    3.使用自定义构造函数创建对象


        先自定义一个构造函数,然后像使用new调用内置构造函数一样调用即可
        例如:
      

  function pen(name,color)
        {
            this.name=name;
            this.color=color;
        }
        var pen1=new pen("小钢炮","玫瑰金");
        document.write(pen1.name+"<br>");
        document.write(pen1.color);


        上述代码段输出    小钢炮
                    玫瑰金

三.对象的属性

    1.设置对象的属性


        对于系统内置对象,在其构造函数中就已经设置了对象的属性,只有自定义对象需要设置属性
        (1)在创建对象的同时设置对象的属性,如:一.2
        (2)在创建对象构造函数时设置对象的属性如:二.3
        (3)先创建一个空对象,再设置对象属性
            例如:
            

var pen=new Object;
            pen.name="小钢炮":
            pen.color="土豪金";
            document.write(pen1.name+"<br>");
            document.write(pen1.color);


            上述代码段输出    小钢炮
                        土豪金

    2.存取对象属性


        详见:一.2

    3.属性的枚举


        语法:
      

 for(变量 in 对象名)


        例如:
      

  var pen=new Object();
        pen.name="小钢炮";
        pen.color="远峰蓝";
        for(var i in pen)
        {
            document.write(pen[i]+"<br>");
        }


        上述代码段输出    小钢炮
                    远峰蓝
    


    4.删除对象的属性


        语法:
        

delete 对象名.属性名;


        删除之后,该属性将不再属于该对象,若再次读取该属性,将返回undefined
        例如:
      

  var pen=new Object();
        pen.name="小钢炮";
        pen.color="远峰蓝";
        delete pen.name;
        document.write(pen.name+"<br>");
        for(var i in pen)
        {
            document.write(pen[i]+"<br>");
        }


        上述代码段输出    undefined
                    远峰蓝

四.构造函数

    1.创建简单的构造函数


        详见:二.3

    2.创建有默认值的构造函数


        例如:
        

function pen(name,color)
        {
            this.name=name;
            if(this.color==undefined)
            this.color="夕阳红";
            else
            this.color=color;
        }
        var pen1=new pen("大钢炮");
        for(var i in pen1)
        document.write(pen1[i]+"<br>");


        上述函数输出    大钢炮
                    夕阳红

    3.创建有方法的构造函数


        与对象的属性一样,在构造函数里也需要使用this运算符来初始化对象的方法
        例如:
      

 function write(str)
        {
            document.write(str);
        }
        function pen(name,color)
        {
            this.name=name;
            this.color=color;
            this.write=write;
        }
        var pen1=new pen("大钢炮","夕阳红");
        document.write(pen1.name+"<br>");
        document.write(pen1.color+"<br>");
        pen1.write("wo shi sha bi");


        上述函数输出    大钢炮
                    夕阳红
                    wo shi sha bi

五.对象的原型与继承

    1.继承与覆盖


        对象可以继承类的所有方法和属性,但如果对象的属性和方法内容与类中的不一样时,对象的方法和属性会覆盖类中的方法和属性

    2.原型对象


        原型对象是由构造函数所定义的,构造函数创建的对象拥有原型对象的所有属性与方法

    3.修改原型对象


        在js中,所有函数都有一个prototype属性,该属性可以引用一个原型对象,通过该属性,可以修改原型对象的属性
        例如:
      

 function pen(color,name)
        {
            this.name=name;
            this.color=color;
        }
        pen.prototype.price="100";
        var pen1=new pen("土豪金","小钢炮");
        for(var i in pen1)
        {
            document.write(pen1[i]+"<br>");
        }


        上述函数输出    小钢炮
                    土豪金
                    100🔪

    4.储存对象属性


        只有在读取对象属性时,才会使用到原型对象,而在储存对象属性时,是不需要使用原型对象的
        例如:
        

function pen(color,name)
        {
            this.name=name;
            this.color=color;
        }
        var pen1=new pen("土豪金","小钢炮");
        pen1.price="100刀";//储存对象属性
        document.write(pen1.price+"<br>");
        document.write(pen.constructor.prototype.price);//读取对象属性


        上述函数输出    100刀
                    undefined

六.Object对象

    1.创建Object对象


     

   new Object();
        new Object(value);


        例如:
      

  var ob1=new Object();
        var ob2=new Object(1.12345);
        var ob3=new Object(false);
        var ob4=new Object("str");
        document.write(typeof(ob1)+"<br>");
        document.write(ob2.toFixed(3)+"<br>");
        document.write(ob3.valueOf()+"<br>");
        document.write(ob4.charAt(2));


        上述函数输出    object
                    1.123
                    false
                    r

    2.constructor属性:返回对象的构造函数


        例如:
      

 var ob1=new Object();
        var ob2=new Object(1.12345);
        var ob3=new Object(false);
        var ob4=new Object("str");
        document.write(ob1.constructor+"<br>");
        document.write(ob2.constructor+"<br>");
        document.write(ob3.constructor+"<br>");
        document.write(ob4.constructor+"<br>");


        上述函数输出    function Object() { [native code] }
                    function Number() { [native code] }
                    function Boolean() { [native code] }
                    function String() { [native code] }

    3.toString方法:对象的字符串表示


        toString()方法可以输出对象、查看对象的值
        例如:
        

var ob1=new Object();
        var ob2=new Object(1.12345);
        var ob3=new Object(false);
        var ob4=new Object("str");
        document.write(ob1.toString()+"<br>");
        document.write(ob2.toString()+"<br>");
        document.write(ob3.toString()+"<br>");
        document.write(ob4.toString()+"<br>");


        上述函数输出    [object Object]
                    1.12345
                    false
                    str

    4.toLocalString()方法:返回对象的本地字符串表示


        与toString()方法类似,只是返回的字符串被格式化成为适合本地的表示法
        不作赘述

    5.propertyIsEnumerable()方法:判断是否是该对象的自有属性


        用法:
      

 对象名.propertyIsEnumerable("属性名")


        如果是对象的自有属性,返回true,否则,返回false
        例如:
        

var ob1=new Object();
        ob1.sb="wo shi sb";
        document.write(ob1.propertyIsEnumerable("sb")+"<br>");
        document.write(ob1.propertyIsEnumerable("nb"));


        上述函数输出    ture            
                    false

    6.hasOwnProperty()方法:判断属性是否是继承的


        与propertyIsEnumerable()方法类似
        不作赘述

    7.isPrototypeOf()方法:判断是否是原型对象


        语法:
        

原型对象.isPrototypeOf(待判断对象)


        例如:
     

   var ob1=new Object();
        ob1.sb="wo shi sb";
        var ob2=new Array();
        document.write(Object.prototype.isPrototypeOf(ob1)+"<br>");
        document.write(Array.prototype.isPrototypeOf(ob1));


        上述代码段输出    true        
                    false

    8.valueOf()方法:返回对象的原始值


        六.1中的样例使用了该方法
        这里不作赘述

七.其它系统对象(在使用中熟悉,不作细讲)


    1.Arguments对象
        
    2.布尔对象

    3.日期对象
        
    4.数字对象
    
    5.函数对象

    6.Error对象
    
    7.数组对象
    
    ......


---------------------完结撒花!!!-------------------
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嗯嗯你说的对

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值