前端(JavaScript)函数_对象操作

文档概述

轻语言网站开发中的对象操作函数、基于 JavaScript 对象操作 Object 类封装,包含对象属性获取、对象成员操作、对象比较、对象转换等功能,常用于数据处理、对象管理、JSON操作等场景。

  • 对象遍历取对象成员数 + 取对象成员名 组合可遍历对象的所有属性,类似 Object.keys().length
  • 成员检测取对象是否包含 等价于 Object.prototype.hasOwnProperty(),判断对象自身是否含有指定属性
  • 对象序列化:配合 JSON编码 / JSON解析 可实现对象的字符串化与还原,用于存储、传输

💡 对象与数组区别:对象使用 {} 定义、以"键值对"形式存储数据,通过 对象.属性对象["属性"] 访问;数组使用 [] 定义、以"索引"形式存储数据,通过 取数组成员(数组, 索引) 访问。

函数:取对象成员数(目标对象)

获取指定对象中的成员数量。代码示例:变量 成员数 = 取对象成员数(目标对象)

' 获取用户对象的属性数量
变量 用户 = {
	"姓名": "张三",
	"年龄": 25,
	"职业": "工程师"
}
变量 成员数 = 取对象成员数(用户)
调试输出("用户对象有 " + 成员数 + " 个属性")

' 检查配置对象是否包含预期数量的属性
变量 配置 = {
	"主题": "dark",
	"语言": "zh-CN",
	"通知": 真
}
如果(取对象成员数(配置) < 3)
	调试输出("配置不完整")
结束 如果

函数:取对象成员名(目标对象,索引)

获取指定对象中指定索引位置处的成员属性名。代码示例:变量 属性名 = 取对象成员名(目标对象, 0)

' 遍历对象的所有属性名
变量 商品 = {
	"名称": "手机",
	"价格": 2999,
	"品牌": "XX品牌"
}
变量 属性总数 = 取对象成员数(商品)
变量循环(i = 0, 属性总数, 1)
	变量 属性名 = 取对象成员名(商品, i)
	调试输出("第 " + (i+1) + " 个属性名: " + 属性名)
结束循环

' 获取第一个属性名
变量 第一个属性 = 取对象成员名(商品, 0)
调试输出("第一个属性: " + 第一个属性)  ' 名称

函数:取对象是否包含(目标对象,成员名)

获取指定对象中是否包含指定成员;包含返回真、否则返回假。代码示例:变量 是否包含 = 取对象是否包含(目标对象, "属性名")

' 检查用户对象是否包含特定属性
变量 用户信息 = {
	"用户名": "user123",
	"邮箱": "user@example.com",
	"注册时间": "2023-01-01"
}
如果(取对象是否包含(用户信息, "手机号"))
	调试输出("用户已绑定手机号")
否则
	调试输出("用户未绑定手机号")
结束 如果

' 检查必需字段是否存在
变量 必需字段 = ["用户名", "邮箱", "密码"]
变量循环(i = 0, 取数组成员数(必需字段), 1)
	变量 字段 = 取数组成员(必需字段, i)
	如果(!取对象是否包含(用户信息, 字段))
		调试输出("缺少必需字段: " + 字段)
	结束 如果
结束循环

函数:取对象是否为空(目标对象)

判断指定对象是否为空。代码示例:变量 是否为空 = 取对象是否为空(目标对象)

' 检查响应数据是否为空
变量 响应数据 = { }
如果(取对象是否为空(响应数据))
	调试输出("未获取到有效数据")
否则
	调试输出("数据获取成功")
结束 如果

' 检查用户输入数据
变量 用户输入 = {
	"姓名": "",
	"电话": ""
}
如果(取对象是否为空(用户输入))
	调试输出("用户未输入任何信息")
否则
	调试输出("用户已输入信息")
结束 如果

函数:删除对象属性(目标对象,属性名称)

删除指定对象中的指定属性。代码示例:删除对象属性(目标对象, "属性名")

' 从用户信息中删除敏感信息
变量 用户信息 = {
	"用户名": "user123",
	"密码": "secret123",
	"邮箱": "user@example.com",
	"余额": 1000
}
' 删除密码等敏感信息
删除对象属性(用户信息, "密码")
删除对象属性(用户信息, "余额")
调试输出("安全的用户信息: " + JSON编码(用户信息))

' 动态删除对象属性
变量 配置 = {
	"开发模式": 真,
	"调试信息": "详细",
	"生产环境": 假
}
如果(!配置.生产环境)
	删除对象属性(配置, "调试信息")
结束 如果

学习要点

知识点代码示例说明
成员数统计取对象成员数(用户)获取对象属性总数,等价于 Object.keys(obj).length
成员名遍历取对象成员名(商品, i)按索引取属性名,配合 变量循环 可遍历对象所有属性
属性存在判断取对象是否包含(用户, "手机号")等价于 hasOwnProperty,只判断对象自身属性,不查原型链
空对象判断取对象是否为空({})判断对象是否为空对象 {},与 判断不同( 是 null/未定义)
动态删除属性删除对象属性(用户, "密码")删除对象指定属性,等价于 delete obj.key
对象序列化JSON编码(用户信息)将对象转为 JSON 字符串,用于存储或网络传输
对象属性访问用户.姓名 / 用户["姓名"]原生 JS 对象属性访问语法,轻语言支持直接使用
数组遍历配合取数组成员(必需字段, i)遍历数组元素时用 取数组成员,不能用 数组[i](轻语言数组语法)

相关文档

  • 文档前端(JavaScript)函数_数据转换类 —— JSON编码JSON解析 对象序列化函数
  • 文档前端(JavaScript)函数_数组操作 —— 取数组成员取数组成员数 数组操作函数
  • 文档前端(JavaScript)函数_字符串操作 —— 取文本长度寻找文本 等文本处理函数
  • 文档轻语言网站:变量与数组与对象的定义 —— 变量、对象、数组的基本语法
  • 文档综合演示:公用模块全局变量函数使用演示 —— 全局对象与公用模块实战