【JavaScript速成之路】JavaScript对象

14 篇文章 12 订阅
订阅专栏
本文介绍了JavaScript中的对象概念,包括通过字面量、newObject和构造函数三种方式创建对象。此外,讨论了对象的访问方法、内置对象的分类以及如何利用MDN学习内置对象。文章还提到了对象封装,展示了一个自定义数学对象的例子。
摘要由CSDN通过智能技术生成

在这里插入图片描述

📃个人主页:「小杨」的csdn博客
🔥系列专栏: 【JavaScript速成之路】

🐳希望大家多多支持🥰一起进步呀!


文章目录

  • 前言
    • 1,初识对象
      • 1.1,对象概念
      • 1.2,对象创建
        • 1.2.1,利用字面量创建对象
        • 1.2.2,利用 new Object创建对象
        • 1.2.3,利用构造函数创建对象
      • 1.3,对象访问
      • 1.4,对象遍历
    • 2,内置对象
      • 2.1,对象分类
      • 2.2,内置对象熟悉
      • 2.3,封装对象
  • 结语


前言

📜前言:小杨在上一篇带着大家一起学习了JavaScript中的函数,想必大家对JavaScript的函数知识已经有所了解了,那么今天我们将继续带着大家初识一下JavaScript中的对象的相关知识,希望大家收获多多!


1,初识对象

1.1,对象概念

在现实生活中,对象是一个具体的事物,是一种可以看得见,摸得着的具体事物,例如一个人,一本书。

而在JavaScript中,对象是一种数据类型,它是由属性和方法组成的一个集合。

属性是指事物的特征,而方法是指事物的行为。

例如,在JavaScript中描述一个手机对象,则手机拥有的属性和方法如下所示:

  • 手机的属性:颜色,屏幕尺寸,重量,价钱 …
  • 手机的方法:打电话,发短信,刷视频,玩游戏 …

1.2,对象创建

1.2.1,利用字面量创建对象

在JavaScript中,对象的字面量就是用花括号{ }来包裹对象的成员,每个成员使用“key: value”的形式保存。

key表示属性名或者方法名,value表示对应的值。多个对象成员之间使用逗号隔开。

1,空对象的创建语法

var obj = {};   //空对象的创建

2,非空对象的创建语法

var obj = {
    成员属性名:成员属性对应值;
    成员方法名:成员方法对应值;   
};

3,字面量创建对象示例:

<script>
    //创建一个空对象
    var obj = {};
    //创建一个学生对象
    var stu1 = {
        name: '小杨',             //name属性
        age: 18,                  //age属性
        sex: '男',                //sex属性
        sayHello:function(){      //sayHello方法
            console.log('hello');
        }
    };
</script>

1.2.2,利用 new Object创建对象

1,空对象的创建语法

var obj = new Object();

2,非空对象的创建语法

var obj = new Object();
obj.属性名 = 成员属性对应值;
obj.方法名 = 成员方法对应函数;

3,new Object创建对象示例

<script>
    var obj = new Object();		//创建一个空对象
    obj.name = '小杨';          //创建对象后,为对象添加成员				
    obj.age = 18;
    obj.sex = '男';
    obj.sayHello = function(){
        console.log('Hello');
    }
</script>

1.2.3,利用构造函数创建对象

1,构造函数创建对象语法

//编写构造函数
function 构造函数名(形参列表){
    this.属性 = 属性;
    this.方法 = function(){
        //方法体
    };
}
//使用构造函数创建对象
var obj = new 构造函数名(实参列表);

2,构造函数创建对象示例:

<script>
    //编写一个Student构造函数
    function Student(name,age){
        this.name = name;
        this.age = age;
        this.say = function(){
            console.log('我叫'+ this.name +',今年'+ this.age);
        };
    }
    //使用Student构造函数创建对象
    var stu1 = new Student('小杨',18);
    console.log(stu1.name);
    console.log(stu1.say());

    var stu2 = new Student('小王',16);
    console.log(stu2.name);
    console.log(stu2.say());
</script>

示例结果:

image-20221013184423220

知识点:

  • 在javascript中,函数都会有一个返回值。返回值可以通过return关键字进行设置。
  • 如果函数里不写return,则函数会返回undefined,可以根据需要判断是否有返回值。

1.3,对象访问

在将对象创建好之后,就可以访问对象的成员属性和方法.

1,对象访问语法:

//访问对象的属性法1:
console.log(对象名.成员属性名);
//访问对象的属性法2:
console.log(对象名['成员属性名']);
//访问对象的方法法1:
对象名.成员方法名()
//访问对象的方法法2:
对象名['成员方法名']()

2,对象访问示例:

//访问对象的属性法1:对象名.成员属性名
console.log(stu1.name);
//访问对象的属性法2:对象名['成员属性名']
console.log(stu1['age']);
//访问对象的方法法1:对象名.成员方法名()
stu1.sayHello();
//访问对象的方法法2:对象名['成员方法名']()
stu1['sayHello']();

3,如果对象的成员名中包含特殊字符,则可以用字符串来表示。

<script>
    var obj = {
    'name - age': '小杨 - 18'
    };
    console.log(obj['name - age']);
</script>

示例结果:

image-20221013182854190

4,JavaScript中的对象具有动态特征。如果一个对象没有成员,用户可以手动赋值属性或方法来添加成员。

<script>
    var stu = {};                                //创建应该空对象
    stu.name = '小杨';                           //为对象添加name属性
    stu.introduce = function(){                  //为对象添加introduce方法
        console.log('My name is ' + this.name);  //在方法中使用this代表当前对象
    };
    console.log(stu.name);
    stu.introduce();
</script>

示例结果:

image-20221013232340518

5,如果访问对象不存在的属性时,会返回undefined。

<script>
    var stu = {};          //创建一个空对象stu
    console.log(stu.name);
</script>

示例结果:

image-20221013183954097


1.4,对象遍历

在JavaScript中,使用for … in语法可以遍历对象中的所有属性和方法。

<script>
    //准备待遍历的对象
    var obj = {                   
        name: '小杨',             //name属性
        age: 18,                  //age属性
        sex: '男',                //sex属性
        sayHello:function(){      //sayHello方法
            console.log('hello');
        }
    };
    //遍历对象
    for(var k in obj){
        console.log(k);      //通过k可以获取遍历过程中的属性名和方法名
        console.log(obj[k]); //通过obj[k]可以获取遍历过程中的属性名和方法名所对应的值

    }
</script>

示例结果:

image-20221013233427232

知识点:

  • 在上述代码中,k是应该变量名,可以自定义,习惯上命名为k或者key,表示键名。

  • 当遍历到每个成员时,使用k获取当前成员的名称,使用obj[k]获取对应的值,如果对象中包含方法,则可通过obj[k] ()进行调用。

  • 当需要判断应该对象中的某个成员是否存在时,可以使用in运算符进行判断。当对象成员存在时返回true,不存在时返回false。

<script>
    var obj = {name: '小杨', age: 18};
    console.log('age' in obj);   //判断age成员属性是否在对象里
    console.log('sex' in obj);   //判断sex成员属性是否在对象里
</script>

示例结果:

image-20221013234538058


2,内置对象

2.1,对象分类

JavaScript中的对象分为3种︰自定义对象、内置对象、浏览器对象。

前面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于我们JS独有的

内置对象就是指S语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)

内置对象最大的优点就是帮助我们快速开发

JavaScript提供了多个内置对象:Math、Date . Array、string等


2.2,内置对象熟悉

为了方便程序开发,JavaScript提供了很多常用的内置对象,包括数学对象Math,日期对象Date,数组对象Array和字符串对象String…

然而如何快速学习对象中的方法并能熟悉掌握?

由于JavaScript提供的内置对象非常多,且还存在版本更新,浏览器兼容性等各方面的原因,因此学习内置对象最好的方法是查阅网上的最新文档。在这里推荐使用[Mozilla开发者网络(MDN)]( MDN Web Docs (mozilla.org))进行学习。

image-20221015233743877

image-20221015234133792

image-20221015234452431

通过文档学习某个方法的使用,具体流程如下:

1)查阅该方法的功能

2)查看括号里面参数的意义和类型

3)查看返回值的意义和类型

4)通过demo进行测试


2.3,封装对象

当内置对象无法满足需求的时候,我们还可以自己封装一个对象,来完成具体需求。

示例:利用对象封装自己的数学对象,里面有 PI 最大值 和 最小值。

<script>
    //利用对象封装自己的数学对象,里面有 PI 最大值 和 最小值
    var myMath = {
        PI: 3.141592653589793,
        max: function() {
            var max = arguments[0];
            for(var i = 1; i < arguments.length; i++){
                if(arguments[i] > max){
                    max = arguments[i];
                }
            }
            return max;
        },

        min: function() {
            var min = arguments[0];
            for(var i = 1; i < arguments.length; i++){
                if(arguments[i] < min){
                    min = arguments[i];
                }
            }
            return min;
        }
    };

    console.log(myMath.PI);     //调用PI属性
    console.log(myMath.max(10,30,20));    //调用max方法
    console.log(myMath.min(10,30,20));    //调用min方法
</script>

示例结果:

image-20221015235844924


结语

这就是本期博客的全部内容啦,想必大家已经对JavaScript对象有了全新地认识和理解吧,如果有什么其他的问题无法自己解决,可以在评论区留言哦!

最后,如果你觉得这篇文章写的还不错的话或者有所收获的话,麻烦小伙伴们动动你们的小手,给个三连呗(点赞👍,评论✍,收藏📖),多多支持一下!各位的支持是我最大的动力,后期不断更新优质的内容来帮助大家,一起进步。那我们下期见!
在这里插入图片描述


JavaScript对象(预解析、对象、内置对象
m0_46420078的博客
11-21 410
一、JavaScript的预解析 先对var变量和function函数进行解析,然后再执行其他的代码1、var预解析 /*先解析var变量num 然后执行console输出 最后把10赋给num */ console.log("num=",num); var num = 10; 2、function函数的预解析 /* 先解析fn函数的定义 然后执行c...
javascript100:JavaScript 介绍和速成课程
07-08
#Noderiety JavaScript 100 ##URL ##IRC #noderiety on freenode.net ##日程 09:30:概述和执行环境: 、 09:45:基础与原语 10:30:函数 11:15: 和 11:45:午餐 12:45:基于类的继承 1:15p:记录,错误 1:...
步步辨析JS中的对象成员
Flash~
07-07 2304
前提:          首先我们应该明白创建一个JS对象的具体实例是实例化的过程,而实例化是通过new关键字实现的,这个对象是含有constructor的,一般的核心对象都会具有constructor以便创建其实例。因此,如果要对我们自己创建的JS对象进行实例化的话,则这个对象必须具有constructor。 构造函数的基本架构为: function myConstructor(a){
js 类对象成员
chenwei9120的专栏
04-11 767
<br /><htm><br /><head><br /><script>     <br />    //定义一个javascript类   <br />    function JsClass(privateParam/*  */,publicParam){//构造函数   <br />        var priMember = privateParam;   //私有变量   <br />        this.pubMember = publicParam;   //公共变量   <br />
高性能JavaScript对象成员
薛小科的博客
06-27 268
JavaScript 中的对象是基于原型的,对象通过一个 _proto _属性绑定到它的原型。一旦创建一个内置对象的实例(如 Object 和 Array),它们就会自动拥有一个 Object 实例和原型。因此,对象拥有两种成员类型:实例成员和原型成员。 当我们访问对象中的一个属性(方法)的时候,如果对象内部有该属性,那么直接执行即可,如果对象内部没有改属性(方法),则会根据原型链向上查找,直到找...
JavaScript习手册四:JS对象
qq_45823118的博客
04-18 5502
JS对象引言A、对象的创建任务描述相关知识代码文件B、属性的增删改查任务描述相关知识代码文件C、属性的检测和枚举任务描述相关知识代码文件 引言 1、JavaScript是基于对象语言,在JavaScript中,一切都可以被称为对象,包括字符串、数字、布尔型、HTML Element等。这些JavaScript中已有的对象称为内置对象,而用户自己定义的对象叫做自定义对象。自定义对象是数据和函数(也叫方法)的集合。 2、这里要特别提醒的是,JavaScript虽然也是一门基于对象语言,但是它实现对象
css_html_javascript速成笔记
11-07
5. **浏览器对象模型**:BOM(Browser Object Model)提供了对浏览器窗口、历史、导航等的访问,允许JavaScript操作浏览器功能。 6. **ES6及更高版本**:ECMAScript的新特性,如let/const声明、箭头函数、模板字符...
JAVAscript\JavaScript速成教程.pdf
04-03
快速上手,JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易又最方便的语言。你可以利用JavaScript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举。
javascript速成
05-09
1.开始练习JavaScript简单的语法和标准库函数,这包括变量、数组、对象和条件语句等基础知识。可以通过自、逐步开发小型项目或参加在线课程等方式入门。 2.深入了解JavaScript中常用的一些库和框架,例如jQuery、...
js构造函数创建对象
weixin_47392167的博客
07-17 531
<script> // 创建对象 function Student(room, group, name, age, address, teacher, course) { this.room = room; this.group = group; this.name = name; this.age = age; this.course = course; this.teach
我们来实现创建JavaScript中的自定义对象
qq_44715697的博客
10-07 351
自定义对象 1. 简介 什么是对象: 万物皆对象,如手机、电脑、汽车、坐姿、学生、猫、狗等 实现世界中充满了对象,符合人们的思维习惯 对象具有特征和行为: 特征:对象具有的属性,如学生的姓名、年龄等 行为:对象具有的能力,如学生可以习、跑步、做自我介绍 JavaScript是基于对象语言 对象具有的特征,称为属性 对象具有的行为,称为方法 2. 创建对象 三种方式: 使用Object //1.创建对象 var 对象名 = new Object(); //2.为对象添加属性 对象名.属性名
Javascript习之对象
m0_53450739的博客
03-31 188
Javascript中,对象一个复杂数据类型,是存储了一些基本数据类型的集合。对象就是一些键值对的集合,就像是我们准备一个房子,把我们想要的数据放进去,然后把房子的地址给到变量名,当我们需要某一个数据的时候,就可以根据变量名里面存储的地址找到对应的房子,然后去房子里面找到对应的数据。(1)方式一:字面量方式创建一个对象输出如下:(2)方式二:内置构造函数方式创建对象
JavaScript入门——(6)对象
最新发布
weixin_48719464的博客
10-10 733
对象(object):JavaScript里的一种数据类型可以理解为是一种无序的数据集合,注意数组是有序的数据集合用来详细的描述某个事物,例如描述一个人。
第三章 ,面向对象程序开发
weixin_73656040的博客
09-19 474
属性、方法和事件属性属性是指对象包含的值,使用,对象名.属性名,的方式进行操作,如方法在代码里,使用,对象名.方法名()'来调用该对象的方法。事件响应用户操作、完成交互,如OnClick, OnKeyDown一般可以分为鼠标事件、键盘事件及其他事件通常情况下,我们可以通过一下两种方式来访问对象属性。(1)中括号表示法 ,如student【"name"】(2)点号表示法,如student.name。
JavaScript:js中的对象对象+原型对象
lalala_dxf的博客
04-03 6045
js中的对象
JavaScript之面向对象
修行的凡人的博客
04-10 174
基于著名书籍和自我习得出的JavaScript面向对象笔记
构造函数与原型
qq_45449432的博客
08-23 75
构造函数与原型 1.构造函数 function Student(name,age){ this.name = name, this.age = age } var stu1 = new Student("冰冻黑熊",19) 上面代码中,创建一个含有两个参数的Student构造函数,其中this指针指向该实例化对象,即this指向stu1,并将值传入this.name。 console.log(stu) 输出stu1可以看见,age与name已经被赋值,而Prototype
JavaScript对象
syy的博客
10-20 390
JavaScript对象
javascript秘籍:速成javascript高手策略
6. **原型与面向对象**:通过实例展示JavaScript的原型链和原型继承机制,为对象导向编程铺平道路。 7. **处理正则表达式**:习如何编写高效且易于维护的正则表达式,提升文本处理能力。 8. **操控线程与定时器*...
写文章

热门文章

  • 【框架篇】Spring MVC 介绍及使用(详细教程) 42442
  • VMware17虚拟机安装及Linux系统搭建(详细版) 37893
  • 【MySQL基础】MySQL基本操作详解 34763
  • HTTP超详细教程 11361
  • 【工具篇】Lombok 介绍及使用(详细教程) 11152

分类专栏

  • 测试 1篇
  • Git 1篇
  • Redis 2篇
  • Java EE【进阶】 14篇
  • 计算机网络 2篇
  • 跟着小杨一起学Java 1篇
  • JavaScript 14篇
  • MySQL 11篇
  • 技术操作 3篇
  • 小杨带你玩转C语言【初阶】 12篇
  • 小杨带你刷好题(C语言) 3篇
  • C语言项目实战 1篇

最新评论

  • 【框架篇】使用注解存储对象

    31231212: 作者你好,我想问一下Bean的命名规则是用在什么地方的

  • CSS零基础快速入门(详细教程)

    一水红树: 受益匪浅,清晰明了

  • CSS零基础快速入门(详细教程)

    进阶的小菜菜: 绝了,说的好细致

  • 【框架篇】MyBatis 介绍及使用(详细教程)

    peacock_universe: application.yml中第3行应该改为: url: jdbc:mysql://127.0.0.1:3306/itcast?characterEncoding=utf8&useSSL=false 否则会报找不到数据库mycnblog的错误

  • 【MySQL基础】MySQL基本数据类型

    没有开关的灯: decimal那里插入999.9报错是因为数据超出你定义的长度了,并不需要四舍五入

大家在看

  • MySQL —— 索引 1382
  • BFS 解决多源最短路问题
  • 知识梳理部分
  • 打破AI壁垒-降低AI入门门槛
  • jsp大学运动场地管理系统nyz09

最新文章

  • 【测试实战】Web自动化测试
  • 【基础篇】Git 基础命令与核心概念
  • 【Redis基础】Redis基本的全局命令
2024年2篇
2023年46篇
2022年19篇

目录

目录

评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小杨MiManchi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值

天下网标王泉州seo外包优化网站北京大兴seo网站优化山东网站优化课程苏州企业网站关键词优化虹口区网站优化机构天津网站单词优化包头网站优化网站图片加载过慢怎么优化网站快速优化排名好评易速达网站的站内优化有哪些娄底网站建设推广优化松江区企业官网网站优化案例网站体验优化网站关键词优化的转化率威海网站seo优化价格中山seo网站排名优化网站文章优化不收录原因解决办法丽江网站优化代发网站优化酷万网络网黄冈低成本网站优化哪家好东莞网站优化费用石家庄知名的网站优化收费标准惠州网站排行优化槐荫网站优化代理商项城网站自然优化收费标准网站优化找哪个公司好呢高碑店网站基础优化泊头市网站优化价格铜川网站优化排名安庆网站排名优化服务公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化