【JavaScript】JS中的对象(Object)

JavaScript的对象

一、什么是对象?

  • 对象:是一组无序的相关属性和方法的集合,所有的事物都是对象

  • 对象是由属性和方法组成的

    • 属性:事物的特征
    • 方法:事物的行为

二、为什么需要对象?

  • 使用对象表达,可以使结构更清晰

三、如何创建对象?

01. 对象字面量

  • 语法结构
var obj = {
    username: "Ruovan",
    age: "24",
    sex: "男",
    sayHi: function(){
        console.log("hi~~~");
    }
};
  • 需要注意
    • 里面的属性或者方法我们采取键值对的形式——【键(属性名): 值(属性值)】
    • 多个属性或者方法中间用逗号隔开的
    • 方法冒号后面跟的是一个匿名函数

02. 利用 new Object创建对象

  • 语法结构

    var obj = new Object();
    obj.name = "Ruovan";
    obj.age = 24;
    obj.sex = "男";
    obj.sayHi = function(){
        console.log("hi~~~");
    };
    
  • 需要注意

    • 利用等号 = 赋值的方法,来添加对象的属性和方法

    • 每个属性和方法之间用分号 ; 结束

03. 利用构造函数创建对象

  • 构造函数:就是把对象里面一些相同的属性和方法抽象出来封装到函数里面,可以一次创建多个对象

    增强代码的复用性

  • 语法结构

    利用构造函数创建对象的过程也叫做对象的实例化

    function 构造函数名(){
     	this.属性 = 值;
        this.方法 = function(){}
    }
    //调用
    new 构造函数名();
    
    //构造函数名,首字母大写
    function Animal(uname,color){
        //uname,color等都是形参,接收用 new 调用函数创建对象传进来的实参
        this.name = uname;
        this.color = color;
        //v是形参,接受对象调用方法时传进来的实参
        this.say = function(voice){
            console.log(voice);
        }
    }
    //这里实际创建了一类 Animal 对象,这个对象有 name、color 属性和 say 方法
    
    //必须用 new 调用构造函数来创建一个对象
    //调用构造函数,返回的是一个对象
    var dog = new Animal("Dog","black");	
    //这里创建了一个 dog 对象,属于 Animal 对象类
    dog.say("汪汪汪");
    
    var cat = new Animal("Cat","white");
    cat.say("喵喵喵");
    
    
  • new的执行过程

    1. new 构造函数可以在内存中创建一个空对象

    2. this 就会指向刚才创建的空对象

    3. 执行构造函数里面的代码,就可以给这个空对象添加属性和方法

    4. 返回这个对象

  • 需要注意

    • 构造函数名的首字母大写

    • 必须用 new 调用 构造函数 来创建一个对象

    • 构造函数不需要 return 就可以返回一个对象

    • 构造函数内部的属性和方法前面必须添加 this

    • 构造函数泛指一类事物

    • 对象特指具体的事物


四、如何使用对象?

01. 调用对象的属性

  • 【对象名.属性名】,其中 . 可以理解为【的】

    obj.username;

  • 【对象名[‘属性名’]】

    obj["age"];

02. 调用对象的方法

  • 【对象名.方法名()】,注意要添加小括号

    obj.sayHi();

03. 区别

变量和属性、函数与方法的区别

(1)变量和属性

  • 变量:单独声明并赋值,使用的时候:直接写变量名,单独存在
  • 属性:对象里面的变量称为属性,不需要声明,使用的时候必须是:对象.属性

(2)函数与方法

函数和方法的相同点:都是实现某种功能,做某件事

  • 函数:是单独声明的,调用的:函数名(),单独存在的
  • 方法:是在对象里面的函数,方法不需要声明,调用的时候:对象.方法()

五、如何遍历对象?

01. for…in

  • 语法结构

    //通常使用k,代表key,也可以用其它的
    for( var k in obj){
        console.log(k);			//输出k,得到属性名
        console.log(obj[k]);	//输出obj[k],得到属性值
    }
    

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值