前端(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)函数_字符串操作——取文本长度、寻找文本等文本处理函数 - 文档
轻语言网站:变量与数组与对象的定义—— 变量、对象、数组的基本语法 - 文档
综合演示:公用模块全局变量函数使用演示—— 全局对象与公用模块实战