花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 17|回复: 8

JS对象键名规则讲解

[复制链接]
  • TA的每日心情
    奋斗
    2026-3-29 08:39
  • 签到天数: 1773 天

    [LV.Master]伴坛终老

    3169

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2026-3-29 20:58 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    ❓ 什么是JavaScript对象

    在JavaScript中, 对象是核心概念和最重要的数据类型。它们是 无序的数据集合,由多个“键值对”构成(例如: name: '名字', age: 13)。对象可以用来描述事物的所有相关信息,包括属性(静态)和方法(动态)。例如,一个对象可以表示一个人,属性可以是姓名、身高、体重等,而方法可以是这个人能做的动作,如跑步或游泳。通过使用对象,开发者可以更好地组织和管理数据,使代码更具可读性和可维护性。

    一、核心概念:JavaScript对象的键名规则

    在JavaScript中,对象键名有两种写法:

    1. 标识符命名规则(identifier)
      • 只能包含字母、数字、下划线 _、美元符号 $
      • 不能以数字开头
      • 不能包含空格或连字符(-)
      • 例如:name、age、likesFish 是合法的
    2. 字符串键名(string key)
      • 可以用引号包裹任意字符串作为键名
      • 可以包含空格、特殊字符、数字开头等
      • 例如:'likes fish'、'123abc'、'background-color'

    二、点号(.)访问的限制

    点号访问法 obj.key 只能用于符合标识符规则的键名。试看:

    let person = {
      name: 'Alice',
      age: 15,
      'likes fish': true
    };
    console.log(person.name);       // -> Alice ✅ 可以用 person.name
    console.log(person.age);        // -> 15    ✅ 可以用 person.age
    console.log(person.likes fish); // -> 报错  ❌ 不能用 person.likes fish

    三、解决多词键名的访问方案:方括号([])访问法

    方括号访问法 obj['key'] 可以用于任何字符串键名。

    console.log(person['likes fish']);  // -> true ✅ 正确的访问方法

    四、与CSS属性名的对比

    1. CSS属性名(如 background-color):
      • 使用连字符,不符合JavaScript标识符规则
      • 在JS中访问时,必须转换为驼峰命名法(backgroundColor)
    element.style.backgroundColor = 'red';     // ✅
    element.style['background-color'] = 'red'; // ✅ 也可以用方括号
    1. 对象键名:

      • 如果键名是 'background-color'(字符串),则必须用方括号访问:
    let styles = {
      'background-color': 'red'
    };
    console.log(styles['background-color']);  // ✅
    console.log(styles.backgroundColor);      // ❌ undefined(键名不匹配)

    五、理解技巧

    1. 简单比喻 :点号访问像是叫朋友的小名(简单、无空格),方括号访问像是叫全名(可以包含空格、特殊字符)。

    2. 判断标准 :键名无空格、无连字符、符合变量命名规则 → 可以用点号。键名包含空格、连字符、数字开头等 → 必须用方括号。

    3. 练习示例

    let student = {
      name: '小明',
      'favorite color': 'blue',
      'test-score': 95
    };
    // 哪些访问是正确的?
    console.log(student.name);              // ✅
    console.log(student['favorite color']); // ✅
    console.log(student['test-score']);     // ✅
    console.log(student.test-score);        // ❌ 语法错误

    六、要点小结

    • 点号访问:用于标识符键名(无空格、无特殊字符)

    • 方括号访问:可用于任何字符串键名

    • CSS属性在JS中:DOM元素的 style 属性使用驼峰命名法

    • 对象键名:保持原样,用方括号访问特殊键名

    评分

    参与人数 2威望 +80 金钱 +160 经验 +80 收起 理由
    红影 + 50 + 100 + 50 匠心独运,细节精致入微!
    杨帆 + 30 + 60 + 30 匠心独运,细节精致入微!

    查看全部评分

  • TA的每日心情
    奋斗
    2026-3-29 12:04
  • 签到天数: 490 天

    [LV.9]以坛为家II

    355

    主题

    3761

    回帖

    2万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生鹰傲苍穹飞龙在天王者至尊大将风范花潮版主

    发表于 2026-3-29 21:18 | 显示全部楼层
    不知道的太多,谢谢马老师详细讲授JS的点号(.)访问法

    JS的点号(.)访问,对连字符可转为驼峰命名,其余不符合JS标识符规则的,必须用 方括号,对吗?
    ★青春是一个人的精神生命,奋斗是一个人最大的体面,学习是一个人最美的姿态。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-3-29 08:39
  • 签到天数: 1773 天

    [LV.Master]伴坛终老

    3169

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-3-29 22:28 | 显示全部楼层
    杨帆 发表于 2026-3-29 21:18
    不知道的太多,谢谢马老师详细讲授JS的点号(.)访问法

    JS的点号(.)访问,对连字符可转为驼 ...

    这个,主要是有使用范围。这里的点号是应用于对象的读写。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-3-29 12:04
  • 签到天数: 490 天

    [LV.9]以坛为家II

    355

    主题

    3761

    回帖

    2万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生鹰傲苍穹飞龙在天王者至尊大将风范花潮版主

    发表于 2026-3-29 22:47 | 显示全部楼层
    马黑黑 发表于 2026-3-29 22:28
    这个,主要是有使用范围。这里的点号是应用于对象的读写。

    谢谢老师~慢慢学习,这个是适用于对象的读写
    ★青春是一个人的精神生命,奋斗是一个人最大的体面,学习是一个人最美的姿态。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-3-29 08:39
  • 签到天数: 1773 天

    [LV.Master]伴坛终老

    3169

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-3-29 22:59 | 显示全部楼层
    杨帆 发表于 2026-3-29 22:47
    谢谢老师~慢慢学习,这个是适用于对象的读写

    JS侠义的对象像这样:

    let flower = { name: 'rose', price: 20 };

    或者:

    let flower = new Object();
    flower.name = 'rose';
    flower.price = 20;
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1895

    主题

    32万

    回帖

    38万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2026-3-29 23:04 | 显示全部楼层
    一直对JS有点怕,现在跟在后面认真学习。
    谢谢黑黑好帖
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-3-29 12:04
  • 签到天数: 490 天

    [LV.9]以坛为家II

    355

    主题

    3761

    回帖

    2万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生鹰傲苍穹飞龙在天王者至尊大将风范花潮版主

    发表于 2026-3-29 23:15 | 显示全部楼层
    马黑黑 发表于 2026-3-29 22:59
    JS侠义的对象像这样:

    let flower = { name: 'rose', price: 20 };

    谢谢老师~是说 两种写法,一样功能 吧
    ★青春是一个人的精神生命,奋斗是一个人最大的体面,学习是一个人最美的姿态。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-3-29 08:39
  • 签到天数: 1773 天

    [LV.Master]伴坛终老

    3169

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-3-29 23:41 | 显示全部楼层
    杨帆 发表于 2026-3-29 23:15
    谢谢老师~是说 两种写法,一样功能 吧

    就是说JS对象的两种创建方法
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-3-29 08:39
  • 签到天数: 1773 天

    [LV.Master]伴坛终老

    3169

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-3-29 23:43 | 显示全部楼层
    红影 发表于 2026-3-29 23:04
    一直对JS有点怕,现在跟在后面认真学习。
    谢谢黑黑好帖

    文科生会对编程语言有天然的恐惧,因为数学基础不好
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2026-3-30 00:07 , Processed in 0.068980 second(s), 25 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表