JS-对象

97 阅读1分钟

js的对象分为内置对象和自定义对象,内置对象:arr 数组、date 时间、string 字符串、math函数……

自定义对象

        let 对象名 = {
            属性1:'属性值',
            属性2:'属性值',
            方法名:function(形参){
                执行语句;
            }

这样我们就声明了一个对象,他有两个属性和一个函数,需要注意的是,属性与属性值是冒号关系;属性与属性之间是逗号关系。
当我们声明好对象后,如何去使用对象里面的属性和方法呢?

        对象名.属性1
        对象名.方法名(实参)

如何给对象添加新的属性?

        对象名.属性3 = 属性值;

如何给对象删除某个属性?

        delete 对象名.属性1;

如何将对象属性名打印?

    <script>
        let obj={
            color:'white',
            name:'小黄',
            car:'出租车'
        }
        for(var key in obj){
            document.write(obj[key])
        }
    </script>

代码分析:for in循环可以遍历对象属性,obj[key]的类型是字符串。当我们要使用对象obj的属性时,应该写做obj[key],与数组的使用一样。 下面我们针对自定义对象来做一个小练习:新建一个自定义对象“student”,属性有姓名,学号,身高,分别有对应的属性值,需要新增一个体重属性,然后删除学号属性:

    <script>
        let student = {
            name:'小明',
            stuNo:'01',
            height:'160'
        }
        student.weight = '120';
        delete student.stuNo;
        console.log(student);
    </script>

代码分析:先定义对象,新增和删除操作都是针对定义后的对象,使用console.log可以在控制台查看实现效果。
再来一个小练习:定义一个对象car,属性有颜色,价格,车型,写一个方法在对象中输出广告语“便宜又实惠”

    <script>
        let car = {
            color:'white',
            price:'888',
            type:'super',
            nice:function(str){
                document.write(str);
            }
        }
        document.write(car.price);
        car.nice('便宜又实惠!');
    </script>

代码分析:方法使用和函数一样,都是需要加上括号,需要和属性的使用方式区别。