this.setMentality(Normal);

作者在面对求职困难时调整心态,决定坚持编程练习并记录自己的成长过程。

 

2009210 星期二

今天比较缓和,最近一直在想工作的事。搞得心绪不宁的。没什么经验也就找不到什么工作,没办法,继续家里顿吧。好久没有写程序了,真是不应该啊。一天不写问题多,两天不写走下坡,这也是没工作的原因之一。所以今天要收敛心神,工作要慢慢找,程序要一条条的写。注册这个blog很久也没写东西,所以从今天开始,要努力了,把连续的人生离散的记录。做好技术,顶住压力。GoGoGo

<think>我们正在讨论JavaScript中的Map对象。用户询问Map的set方法的作用。 Map的set方法用于向Map对象添加一个键值对。如果键已经存在,则更新其对应的值;如果不存在,则添加新的键值对。 具体到这个代码行:this.mapStyleFunction.set(HIGHT_LIGHT_STYLES.NORMAL, mesh => this.normalStyle(mesh)); 它的作用是将键`HIGHT_LIGHT_STYLES.NORMAL`与一个函数(该函数调用`this.normalStyle`方法并传入`mesh`参数)关联起来,存储在Map中。 接下来,按照要求,我需要提出3-5个相关问题,并在最后以“§§相关问题§§”开头输出。 可能的问题: 1. Map的set方法返回什么? 2. 如何从Map中获取一个键对应的值? 3. Map的set方法和对象的属性赋值有什么区别? 4. 如何检查Map中是否存在某个键? 5. Map的键可以是任何类型吗? 注意:必须使用中文,并且问题数量在3到5个之间。 </think>在 JavaScript 的 `Map` 对象中,`set()` 方法用于向 Map 中添加或更新键值对。具体到您的代码: `this.mapStyleFunction.set(HIGHT_LIGHT_STYLES.NORMAL, mesh => this.normalStyle(mesh));` ### 作用解析: 1. **添加/更新键值对** - 若键 `HIGHT_LIGHT_STYLES.NORMAL` 不存在,则添加新条目:键为 `HIGHT_LIGHT_STYLES.NORMAL`,值为箭头函数 `mesh => this.normalStyle(mesh)`。 - 若键已存在,则覆盖其原有值。 2. **值的特点** - 这里的值是一个**箭头函数**,接受参数 `mesh` 并调用 `this.normalStyle(mesh)` 方法。 - 这种设计便于后续通过键名快速调用对应的样式逻辑(例如 `this.mapStyleFunction.get(HIGHT_LIGHT_STYLES.NORMAL)(meshObject)`)。 3. **链式操作支持** `set()` 方法返回 Map 对象本身,因此支持链式调用: ```javascript this.mapStyleFunction .set(key1, func1) .set(key2, func2); ``` ### 与其他数据结构的区别: | 操作 | `Map` 的 `set()` | 普通对象的属性赋值 | |---------------|---------------------------------|--------------------------| | 键的类型 | 支持任意类型(对象、函数等) | 仅支持字符串或 Symbol | | 顺序性 | 严格保持插入顺序 | 不保证顺序 | | 键值对数量 | 通过 `size` 属性获取 | 需手动计算属性数量 | | 重复赋值行为 | 直接覆盖原值 | 同样覆盖原值 |
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值