随笔分类 -  读书随笔

乱七八糟
摘要:## 不使用括号调用函数 你希望一个特定的对象返回一个原始值时,可以使用 valueOf 方法。通常,你会将它与对象字面量一起使用,然后将你的对象与其他原始值进行加法或减法操作。 ```javascript let obj = { valueOf() { return 1 } } console.l 阅读全文
posted @ 2023-07-17 15:47 艾路 阅读(15) 评论(0) 推荐(0) 编辑
摘要:## 十六进制 十六进制,它只在字符串内部起作用,如果您尝试将其用作标识符,他们将失败。一个有趣的方面是,十六进制转义必须使用小写的 x,如果使用大写的 X,它将不会被视为十六进制转义,js 引擎将简单地将字符串处理为字面上的大写 X,后面跟着你指定的字符。 ```javascript '\x61' 阅读全文
posted @ 2023-07-14 16:07 艾路 阅读(13) 评论(0) 推荐(0) 编辑
摘要:## 冻结 如果我们希望避免程序员意外或故意修改对象的可能性,冻结对象是一个有效的解决方案。在对象被冻结之后,任何修改它的尝试都会静默失败。javascript 不会报告错误或抛出异常,但也不会修改对象。这种解决方案只有一个问题:冻结对象是一个浅层操作,它仅冻结属性本身,类似于 const 声明的作 阅读全文
posted @ 2023-06-28 10:40 艾路 阅读(7) 评论(0) 推荐(0) 编辑
摘要:## 管道和组合 管道和组合是一种技术,用于设置函数以便它们按顺序工作,使一个函数的输出称为下一个函数的输入。在 linux 中,执行一个命令并将其输出作为第二个命令的输入,而第二个命令的输出又成为第三个命令的输入,依此类推,这被称为管道。 ```javascript const markers = 阅读全文
posted @ 2023-06-19 10:04 艾路 阅读(8) 评论(0) 推荐(0) 编辑
摘要:## 一起柯里化 柯里化是将 m 元函数转换为一系列 m 个一元函数的过程,其中每个函数从左到右接收原始函数的一个参数。(第一个函数接收原始函数的第一个参数,并返回一个接收第二个参数的第二个函数,依此类推。)每个函数在调用时生成序列中的下一个函数,最后一个函数执行实际的计算。 柯里化的思想本身很简单 阅读全文
posted @ 2023-06-13 17:34 艾路 阅读(10) 评论(0) 推荐(0) 编辑
摘要:## 日志记录 我们可以写一个高阶函数,它以两个函数作为参数,并允许第一个函数只能执行一次,从那一点开始调用第二个函数。 ```javascript const onceAndAfter = (f, g) => { let toCall = f return (...args) => { let r 阅读全文
posted @ 2023-06-01 16:03 艾路 阅读(9) 评论(0) 推荐(0) 编辑
摘要:## 日志记录 在调试代码时,通常需要添加一些日志信息来查看函数是否被调用,使用了哪些参数,返回了什么等等。 ```javascript function someFunction(p1, p2, p3) { console.log('enter', p1, p2, p3) // do... // 阅读全文
posted @ 2023-05-31 16:11 艾路 阅读(9) 评论(0) 推荐(0) 编辑
摘要:我们将使用接下来的函数实现:让你更具有声明性,你会发现自己的关注点将转移到你需要什么,而不是如何做;繁琐的细节被隐藏在我们的函数内部。我们将不再编写一系列可能嵌套的 for 循环,而是专注于使用函数作为构建快来制定我们期望的结果。 使用 reduce()操作可以得到单个值;使用 map()可以得到一 阅读全文
posted @ 2023-05-30 16:52 艾路 阅读(14) 评论(0) 推荐(0) 编辑
摘要:Memoization:备忘录技术。由于纯函数对于给定的输入失踪产生相同的输出,所以可以缓存函数的结果,避免可能昂贵的重新计算。这个过程意味着只在第一次计算表达式并将结果缓存起来,供后续调用使用,称为备忘录技术。 斐波那契数列常用于此示例,因为它简单切隐藏了计算成本。当 n=0 时,fib(n)=0 阅读全文
posted @ 2023-05-29 14:16 艾路 阅读(9) 评论(0) 推荐(0) 编辑
摘要:防止 vue 自带的动画 css 覆盖你的动画效果,或者影响效果。可以添加:css="false"来阻止默认的 class. 通常,在第一次页面加载时会显示项目列表,由于元素已经在视图中,所以我们的动画不会起作用。为了触发动画,我们需要使用另一个过渡属性 appear,在页面最初渲染时立即触发动画。 阅读全文
posted @ 2023-05-29 09:42 艾路 阅读(8) 评论(0) 推荐(0) 编辑
摘要:function renderer(domString, container) { container.innerHTML = domString } let count = ref(1) renderer(`<h1>${count.value}</h1>`, document.getElement 阅读全文
posted @ 2023-02-24 17:47 艾路 阅读(88) 评论(0) 推荐(0) 编辑
摘要:// 存储副作用函数的桶 const bucket = new WeakMap() // 原始数据 export const listenInit = (data) => { return new Proxy(data, { // 拦截读取操作 get(target, key) { track(ta 阅读全文
posted @ 2023-01-31 10:14 艾路 阅读(35) 评论(0) 推荐(0) 编辑
摘要:使用 js 对象描述 ui 更加灵活。假如我们要根据级别不同采用不同的标签。js 对象描述的话,只需要一个变量代表 h 标签即可。 // 当变量改变时,标签也会变化。 let level = 3 const title = { tag: `h${level}` //h3 } <h1 v-if="le 阅读全文
posted @ 2023-01-12 15:03 艾路 阅读(136) 评论(0) 推荐(0) 编辑
摘要:一个网站,从看起来还可以,到看起来非常棒,差别在于细节。在实现了页面里 某个组件的布局并写完样式之后,不要急着继续,有意识地训练自己,以挑剔的眼光审视刚刚完成的代码。如果增加或者减少一点内边距是不是看起来更好。调一下颜色是不是效果更好,如果在开发设计师详细的视觉稿,实现效果有没有做到完美还原。 接下 阅读全文
posted @ 2022-11-29 09:14 艾路 阅读(19) 评论(0) 推荐(0) 编辑
摘要:模块化 CSS 是指把页面分割成不同的组成部分,这些组成部分可以在多种上下文中重复使用,并且互相之间没有依赖关系。最终目的是,当我们修改其中一部分 css 时,不会对其他部分产生意料之外的影响。 开始写模块化样式之前,需要先配置好环境。每个样式表的开头都要歇一歇给整个页面使用的通用规则,模块化 CS 阅读全文
posted @ 2022-11-23 12:39 艾路 阅读(21) 评论(0) 推荐(0) 编辑
摘要:接下来我们讲下响应式设计,最初开发人员通过创建两个网站来解决这个问题。桌面版和移动版,只是假如要兼容越来越多的设备,比如大屏的平板手机,ipad mini.这时候,强制分开的方案带来就比较多的麻烦,同时也要维护多个网站。 更好的方式时给所有用户提供一份html和css.通过使用几个关键技术,根据用户 阅读全文
posted @ 2022-11-16 14:53 艾路 阅读(18) 评论(0) 推荐(0) 编辑
摘要:前面讲了几种控制网页布局的方式,flex,gird 和 float。这下我们初略讲下 position.这个我日常中用到的已经挺多了。定位和其他控制文档流的行为不同。它将元素彻底从文档流中移走,它允许你将元素放在屏幕的任意位置。还可以将一个元素放在另一个元素的前面或后面,彼此重叠。 浏览器将 htm 阅读全文
posted @ 2022-10-31 13:57 艾路 阅读(10) 评论(0) 推荐(0) 编辑
摘要:网格布局:flexbox 彻底改变了网页布局方式,但这只是开始。它还有一个大哥:另一个称作网格布局模块的新规范。这两个规范提供了一种前所未有的全功能布局引擎。跟 flexbox 类似,网格布局也是作用于两级的 dom 结构。设置为 display:grid 的元素成为一个网格容器(grid cont 阅读全文
posted @ 2022-10-21 10:56 艾路 阅读(35) 评论(0) 推荐(0) 编辑
摘要:创造浮动的初衷并不是为了用于页面布局。浮动能将一个元素,通常是一张图片,拉到其容器的一侧,这样文档流就能够包围它。word 文档中,报纸,杂志中很常见。所以 css 增加了浮动来实现这种效果。尽管这才是浮动的是设计初衷,我们却并不总是这样使用它。flexbox 正在迅速取代浮动在页面布局中的地位。f 阅读全文
posted @ 2022-10-16 14:27 艾路 阅读(23) 评论(0) 推荐(0) 编辑
摘要:深入理解css 笔记(4)处理元素高度的方式跟处理宽度不一样。之前对 border-box 的修改依然适用于高度。而且很有用,但是通常最好避免给元素指定明确的高度。当明确设置一个元素的高度时,内容可能会溢出容器。当内容再限定区域放不下,渲染到父元素外面时。用 overflow 属性可以控制溢出内容的行为,该属性支持以下 4 阅读全文
posted @ 2022-10-13 21:03 艾路 阅读(48) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示