【JavaScript】对象 ① ( 对象概念 | 对象使用场景 | 使用字面量创建对象 | 空对象字面量 | 小括号 / 中括号 / 大括号 作用 )

本文主要是介绍【JavaScript】对象 ① ( 对象概念 | 对象使用场景 | 使用字面量创建对象 | 空对象字面量 | 小括号 / 中括号 / 大括号 作用 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、JavaScript 对象
    • 1、对象概念
    • 2、对象使用场景
  • 二、使用字面量创建对象
    • 1、使用字面量创建对象
    • 2、小括号 / 中括号 / 大括号 作用
    • 3、代码示例 - 使用字面量创建对象
    • 4、代码示例 - 使用字面量创建空对象





一、JavaScript 对象




1、对象概念


在 JavaScript 中 , 对象 是 一种 复杂的数据类型 , 是 一组 无序的 相关属性 和 方法 的集合 , 这些 属性值 允许存储 各种数据类型值 ;


对象 由 属性 和 方法 组成 :

  • 属性 : 事物 特征 , 具体就是 对象中的 变量 ;
  • 方法 : 事物 行为 , 具体就是 对象中的 函数 ;

JavaScript 对象 可以理解为 由 键值对 组成 ;

  • 键 是 字符串 , 表示属性的名称 ;
  • 值 是 任何数据类型 , 表示属性的值 ;

2、对象使用场景


对象的使用场景 :

  • 保存单个值 , 使用变量即可 ;
  • 保存多个值 , 使用数组即可 ;
  • 保存多个值并表示不同的信息 , 使用对象 ;

数组也可以保存多个不同类型的值 , 如 :

var arr = ['Tom', 18];

只能知道 数组中有一个 字符串 和 一个 number 类型的值 ;

如果想要表示 , 第一个字符串元素是 姓名 name , 第二个 数字类型是 年龄 age , 这就是两个键值对了 , 此时需要 使用 对象 进行保存 ;

JavaScript 对象的结构 要比 数组结构 更清晰 , 强大 ;


下面的 person 对象就是将 ['Tom', 18] 数组的数据转为对象进行存储 ;

var person = {  name: "Tom",  age: 18,  hello: function() {  return this.name+ " is " + this.age + " years old";  }  
};

上述为 person 变量赋值的是一个 对象 字面量 ;





二、使用字面量创建对象



JavaScript 中有 3 种创建对象的方式 :

  • 使用 字面量 创建对象 ;
  • 使用 new 关键字 创建对象 ;
  • 使用 构造函数 创建对象 ;

1、使用字面量创建对象


对象字面量花括号 {} 中 定义多个 键值对 表示 对象的 属性 和 方法 , 键值对 之间使用 逗号 , 隔开 ,

下面就是一个 对象 字面量 , nameage 分别是 属性变量 名称 , 'Tom'18 分别是 属性变量 值 , hello 是 对象方法的名称 后面的 函数表达式 就是 函数的具体内容 ;

{  name: "Tom",  age: 18,  hello: function() {  return this.name+ " is " + this.age + " years old";  }  
};

将上述 对象字面量 赋值给一个 var 声明的变量 , 就是创建了一个对象 ;

var person = {  name: "Tom",  age: 18,  hello: function() {  return this.name+ " is " + this.age + " years old";  }  
};

如果 对象字面量 的 大括号中为 空 , 则创建了一个 空的字面量 , 后期 使用 . 运算符为对象填充 属性和方法 ;

        // 创建一个空对象var person = {};// 后期逐渐为空对象填充属性和方法person.name = 'Tom';person.age = 18;person.hello = function() {console.log(this.name + " is " + this.age + " years old");};

2、小括号 / 中括号 / 大括号 作用


JavaScript 中 小括号 / 中括号 / 大括号 作用 :

  • 小括号 是 结合运算符 , 是拥有最高的优先级 的 运算符 ;
  • 中括号 是 数组字面量 的标志 , 如 : ['Tom', 18] 这是一个数组字面量 ;
  • 大括号 是 对象字面量 的标志 , 使用字面量创建对象中 , 就是 使用 大括号 构造了一个 对象字面量 ;

3、代码示例 - 使用字面量创建对象


代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- 设置 meta 视口标签 --><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JavaScript</title><style></style><script>// 创建对象var person = {name: "Tom",age: 18,hello: function() {console.log(this.name + " is " + this.age + " years old");}};// 访问对象中的属性console.log("name : " + person.name + " , age : " + person.age);// 调用对象中的方法person.hello();</script>
</head><body>
</body></html>

执行结果 :

在这里插入图片描述


4、代码示例 - 使用字面量创建空对象


代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- 设置 meta 视口标签 --><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JavaScript</title><style></style><script>// 创建对象// 创建一个空对象var person = {};// 后期逐渐为空对象填充属性和方法person.name = 'Tom';person.age = 18;person.hello = function() {console.log(this.name + " is " + this.age + " years old");};// 访问对象中的属性console.log("name : " + person.name + " , age : " + person.age);// 调用对象中的方法person.hello();</script>
</head><body>
</body></html>

执行结果 :

在这里插入图片描述

这篇关于【JavaScript】对象 ① ( 对象概念 | 对象使用场景 | 使用字面量创建对象 | 空对象字面量 | 小括号 / 中括号 / 大括号 作用 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/895155

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。