![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
文章平均质量分 50
改行不做程序员了
这个作者很懒,什么都没留下…
展开
-
javascript高级程序设计第四版读书笔记-第五章 基本引用类型
先是 Math.random() 生成 [0, 1) 的数,也就是 0.123312、0.982931之类的,然后调用 number 的 toString方法将其转换成36进制的,按照MDN的说法,36进制的转换应该是包含了字母 a~z 和 数字0~9的,因为这样生成的是 0.89kjna21sa 类似这样的,所以要截取一下小数部分,即从索引 2 开始截取10个字符就是我们想要的随机字符串了。Date.UTC()方法也返回日期的毫秒表示,但使用的是跟 Date.parse()不同的信息来生成这个值。原创 2023-02-22 16:11:02 · 393 阅读 · 0 评论 -
javascript高级程序设计第四版读书笔记-第四章 变量、作用域与内存
声明变量并给它赋一个引用值时,这个值的引用数为 1。类似地,如果保存对该值引用的变量被其他值给覆盖了,那么引用数减 1。当一个值的引用数为 0 时,就说明没办法再访问到这个值了,因此可以安全地收回其内存了。或者可以维护“在上下文中”和“不在上下文中”两个变量列表,可以把变量从一个列表转移到另一个列表。区别是:2和3都是对象,可以添加属性,1是原始类型,不能添加属性,3是实现了安全模式的对象。(3)声明对象时,不使用动态添加属性,声明是就将所有要用的属性声明好。(1)不使用了的变量用null赋值。原创 2023-02-22 15:57:57 · 254 阅读 · 0 评论 -
javascript高级程序设计第四版读书笔记-第三章 语言基础
如果将一元加应用到非数值,则会执行与使用 Number()转型函数一样的类型转换:布尔值 false 和 true 转换为 0 和 1,字符串根据特殊规则进行解析,对象会调用它们的 valueOf()和/或 toString() 方法以得到可以转换的值。=》this:1.必须指定this,null会报错,不然使用会报错,,非严格模式如果指定this为null,则是指向全局。=》函数的参数:1.使用了ES6的参数解构,剩余操作符,默认参数,函数内不允许使用严格模式,可以全局严格模式。原创 2023-02-22 15:54:11 · 423 阅读 · 0 评论 -
js异步事件同步执行案例
要做一个什么事呢?简单说就是模拟点击获得数据如图,要收集页面上的文章 的url,标题,日期三样内容组成一个表格绘制到页面上,标题和日期可以直接获得页面的dom,用for循环填充到一个HTML字符串中,这里的问题是url的值需要点击分享按钮,在弹窗的复制链接下才有,这篇文章的url,如果直接for 循环中模拟点击,会找不到弹窗的url值,如下:猜测是点击事件后,弹窗的url值还没更新,所以需要点击后等待一会儿,让其他代码更新弹窗的url值,然后在收集弹窗的url ,就可以将用异步事件同步事件来原创 2022-05-19 18:14:49 · 582 阅读 · 0 评论 -
手写面试题三:防抖和节流
防抖(debounce)防抖是指,某个固定时间外,可以执行事件回调,如果在固定时间内触发,则重新计时。它的作用就是在高频事件中只执行最后一次。例如多次快速点击提交function myDebounce(fun, wait = 1000) { let timeout; return function () { // 存储this和参数 let context = this, args = arguments;原创 2022-05-14 15:57:02 · 221 阅读 · 0 评论 -
手写系列二,Promise
手写promise注意resolve中的setTimeout异步方法也可以写在.then中,他是Promise的精髓参考https://zhuanlan.zhihu.com/p/457389524 const PENDING = "pending"; const REJECTED = "rejected"; const RESOLVED = "resolved"; function myPromise(fun) { let self = t原创 2022-05-13 18:02:19 · 81 阅读 · 0 评论 -
面试题手写系列一,手写Oject.create,Instanceof,new操作符
手写 Object.create <!-- 1.手写 Object.create --> <script> // Object.create的作用是将对象,变成一个空对象的原型,第二参数是在空对象中添加实例属性 let obj1 = { name: "xxx" }; obj1.__proto__.age = 18; console.log( Object.create(obj1, { g原创 2022-05-13 15:05:46 · 208 阅读 · 0 评论