1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

帖子
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 孙森峰

[求助] 按月份汇总数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2025-2-1 18:51 | 显示全部楼层
一江春水1688 发表于 2025-2-1 13:25
今铭昔大佬,新年好!给大佬拜年!!!

信息量超大呀,有空的话,可否解释一下代码?Object.definePro ...

花哨写法,这个对我们小白来说估计一辈子都用不上

Snipaste_2025-02-01_18-49-41.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2025-2-1 21:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2025-2-1 22:58 | 显示全部楼层

我研究了一下this /call/apply/blind,发现头痛的很,且对于我们处理表格来说,基本上用不上,所以我放弃这些东西了

TA的精华主题

TA的得分主题

发表于 2025-2-2 08:22 | 显示全部楼层

bind的作用是绑定this,返回新的函数
image.png

你bind啥,那this就是啥。

返回的是新的函数,与之前的函数内存地址不一致
因为key值是数值,所以不能数组当字典用。这里是我不小心犯下了一个错误,不应该bind(this),而是bind({})。因为这里的this是个全局对象(globalThis,也叫顶层对象),全局对象当字典用那是在给自己挖坑了。

Object.defineProperty是定义对象的属性
image.png
这个你应该看一下mdn文档,详细说明了其用法

这里我在Date的原型上定义了一个get访问器,因为getFullYear(),getMouth()写得有点长。这也是JS灵活之处,可以后期定制自己的成员
比如一个小例子,有时要查看数组的结构,console.table(arr)总是这么写有些小麻烦,可以这样去做:arr.table,实现方式就是在原型上定义一个访问器
image.png
不觉得这样方便好省么,JS是一门非常灵活的语言,天生自带反射特性,天生就是写框架的料


image.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2025-2-2 14:22 | 显示全部楼层
今铭昔 发表于 2025-2-2 08:22
bind的作用是绑定this,返回新的函数

感谢 今铭昔 大佬!
您总是能通过简单的示例深入浅出普及js的高级知识点,单看mdn文档,常常犯迷糊。

TA的精华主题

TA的得分主题

发表于 2025-2-3 11:32 来自手机 | 显示全部楼层
lizhipei78 发表于 2025-2-1 18:51
花哨写法,这个对我们小白来说估计一辈子都用不上

a.getfullyear(),这是怎么实现的?

TA的精华主题

TA的得分主题

发表于 2025-2-3 14:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
今铭昔 发表于 2025-2-2 08:22
bind的作用是绑定this,返回新的函数

铭佬的解说中,留了一道作业,在初步理解铭佬的解说后,现在交作业,但在Array.of的定义中,不知道如何用上this?
Snipaste_2025-02-03_14-09-55.png

TA的精华主题

TA的得分主题

发表于 2025-2-3 15:12 | 显示全部楼层
本帖最后由 一江春水1688 于 2025-2-3 15:45 编辑
一江春水1688 发表于 2025-2-3 14:14
铭佬的解说中,留了一道作业,在初步理解铭佬的解说后,现在交作业,但在Array.of的定义中,不知道如何用 ...

Sorry
Array.of是数组的静态属性,我理解错了。之前不知道有这个静态方法
AI搜索后知道,犯了好多错误

TA的精华主题

TA的得分主题

发表于 2025-2-3 15:36 | 显示全部楼层
本帖最后由 Again123456 于 2025-2-3 16:09 编辑

没认真看,应该是给日期类,定义了一个属性,键值是函数的返回值。这样,所有日期对象实例都可能使用这个属性取得返回值了。 另外,将回调函数的调用者this当字典用吧。

image.png


没仔细看,好像reduce没有thisarg啊

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2025-2-3 16:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
一江春水1688 发表于 2025-2-3 15:12
Sorry
Array.of是数组的静态属性,我理解错了。之前不知道有这个静态方法
AI搜索后知道,犯了好多错 ...

好多需要进一步学习理解的知识,要实现跟Array.of相同的功能,AI给出的答案:
  1. Object.defineProperty(Array,  'myOf', {
  2.     value: function (...args) {
  3.         return Array.from({  length: args.length  }, (_, i) => args[i]);
  4.     },
  5.     writable: true,
  6.     enumerable: false,
  7.     configurable: true
  8. });

  9. // 测试 myOf 方法
  10. console.log(Array.myOf(1,  2, 3)); // 输出: [1, 2, 3]
  11. console.log(Array.myOf(42));     // 输出: [42]
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-3-9 04:10 , Processed in 0.042486 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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