JavaScript对象

本文详细介绍了JavaScript中的对象概念,包括属性和行为的定义,以及如何创建、访问和操作对象。通过字面量方式、使用new关键字以及构造函数创建对象,并展示了如何遍历对象属性和检查成员存在性。此外,还探讨了对象的动态添加属性和方法,以及构造方法在对象实例化中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一部分、对象

对象:一切皆为对象,是属性和行为的结合体。在面向对象中把"属性"称为对象的成员(成员变量),把"行为"称为成员方法(成员函数)

  1. 属性:反应的是对象的静态特征。
  2. 行为:反应对象的动态特征。

第二部分、JavaScript对象

JavaScript中的对象:是一种数据类型,用"{}“表示一个对象,在”{}“中包裹了对象的成员(包括属性和方法)。以"key:value”(键—值对)方式储存各成员。"key"是成员名,"value"是成员的值。

1.对象的创建

对象的字面量就是用花括号“{ }”来包裹对象中的成员,每个成员使用“key: value”的形式来保存,key表示属性名或方法名,value表示对应的值。多个对象成员之间用“,”隔开。

:创建一个空对象

var obj = {};

2.对象的访问

对对象的成员的访问格式是:

  1. 对象名.属性名或对象名[‘属性名’]
  2. 对象名.方法名([参数])或对象名[‘方法名’]([参数])

:创建一个phone对象并访问它的成员

var phone = {    //phone是一个对象
     color: "黑色",
     weight: "188g",
     screenSize: "6.5寸",
     call: function(name){
         console.log("给"+name+"打电话");
     },
     sendMassage: function(name){
        console.log("给"+name+"发信息");
    },
    playVideo: function(){
        console.log("播放视频");
    },
    playMusic: function(){
        console.log("播放音乐");
    }
}

console.log("手机颜色:",phone["color"]);
console.log("手机大小:",phone.screenSize);
phone["call"]("奥巴马");
phone.sendMassage("川普");
phone.playMusic();
phone.playVideo();

3.给空对象添加属性和方法

var 对象名 = {};

对象名.属性名 =;

对象名.方法名 = function[参数]{
    方法体语句;
}

4.使用new Object创建对象

Object:是JavaScript中的超级对象,即用户创建的对象都直接或间接继承了该对象的某些特性。

格式如下

var 对象名 = new Object;

var student = new Object();

student.name = "小明";
student.age = 18;
student.info = function(){
    console.log("姓名:",student.name);
    console.log("年龄:",student.age);
}

student.info();

5.利用构造方法来创建对象

  • 构造方法:是一个初始化对象的方法。

使用构造函数创建对象的语法为“new 构造函数名()”,在小括号中可以传递参数给构造函数,如果没有参数,小括号可以省略。
格式如下:

构造方法的定义

function 构造方法名([参数]){

    this.属性名 =;
    this.方法名 = function([参数]){
    
        方法体语句;
    }
}

利用构造方法创建对象

var 对象名 = new 构造方法名([参数]);
function Student(name,gender,age){    //定义构造函数:Student

    this.name = name;
    this.gender = gender;
    this.age = age;

    this.shouInfo = function(){

        console.log("姓名:",this.name);
        console.log("性别:",this.gender);
        console.log("年龄:",this.age);
    }
}

var stu1 = new Student("小明","男",18);    //利用构造方法创建对象

var stu2 = new Student("郭靖","男",21);

var stu3 = new Student("黄蓉","女",21);


stu1.shouInfo()
stu2.shouInfo()
stu3.shouInfo()

注意:滥用

  1. 建议构造方法名的首字母大写
  2. this是关键字,代表当前对象

6.遍历对象的属性和方法

使用for…in语法可以遍历对象中的所有属性和方法,示例代码如下:

for (var 遍历名 in 对象名){
    语句;
}
//obj为待遍历的对象
var obj = {
    name:"小明",
    age:18,
    sex:"男"
}

//遍历obj对象
for(var k in obj){    //通过k可以获取遍历过程中的属性名和方法名
    console.log(k);    //依次输出:name、age、sex

    console.log(obj[k]);    //依次输出:小明、18、男
}

7.使用in运算符判断对象是否存在否个成员

var obj = {
    name:"小明",
    age:18
};

console.log("name" in obj);    //结果为true,表示对象成员存在

console.log("gender" in obj);    //结果为false,表示对象成员不存在
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值