- 博客(11)
- 收藏
- 关注
原创 new 操作符的原理与实现
但是当下的构造函数 Test 并没有显式 return 任何值(默认返回 undefined),如果我们让它返回值会发生什么事情呢?通过这个例子我们可以发现,虽然构造函数内部的 this 还是依旧正常工作的,但是当返回值为对象时,这个返回值就会被正常的返回出去。通过以上几个例子,相信大家也大致了解了 new 操作符的作用了,接下来我们就来根据这些作用手动实现 new 操作符。虽然上述例子中的构造函数中返回了 1,但是这个返回值并没有任何的用处,得到的结果还是和之前的例子完全一样。
2024-04-07 02:44:47
494
原创 简单聊聊迭代器与生成器
通过上面这段程序,你应该看出来了,结果跟我们之前用es5实现的迭代器是差不多的。但是你在这个生成器函数中压根就没有看见next方法,done和value属性。因为生成器函数内部实现了迭代器。,通过function关键字后的星号( * )来表示,函数中会用到新的关键字yield.。星号( * )可以紧跟function后面,也可以在function后面加个空格。迭代器是一种特殊对象,这类特殊对象需要符合。上Demo:手动实现一个迭代器。关键字,它有什么特点呢?
2024-04-07 01:52:25
352
原创 JS中的对象迭代
一、通用对象迭代方法for…in:返回迭代对象的可枚举字符串属性,包括原型上的属性;for…of:返回可迭代对象定义的要进行迭代的值。根据对象上实现的 @@iterator 方法决定枚举行为的返回值;Object.keys():返回对象自身的可枚举的字符串属性名组成的数组,不包括使用 symbol 值作为名称的属性,不包括原型上的属性;Object.getOwnPropertyNames():返回给定对象中所有自有属性的数组。(包括不可枚举属性,但不包括使用 symbol 值作为名称的属性,不包括
2024-04-06 03:47:33
317
原创 JavaScript中for...in 和 for...of 的区别
先贴一个mdn上对于 for…in 和 for…of 的解释:for…in 比较容易理解,用于迭代对象的可枚举字符串属性(包括原型链上的可枚举字符串属性),直接上 Demo:打印结果只有 ‘1’ 和 ‘property2’ 这两个属性,逐个分析:接下来我们来看下 for…of 的解释:for…of 语句用于迭代可迭代对象定义的要进行迭代的值。老规矩,我们先上个小 Demo:好家伙:直接报错了,报错信息告诉我们 object1 是不可迭代的,即 object1 并不是 可迭代对象。让我们再仔细回看下
2024-04-06 03:20:51
1741
原创 window.performance.timing属性详解
指文档解析完成的时刻,包括在“传统模式”下被阻塞的通过script标签加载的内容(除了使用defer或者async属性异步加载的情况)。如果已经没有任何延迟加载的事件(所有图片的加载)阻止load事件发生,浏览器窗口上表示页面还在加载的图标停止旋转,那么该时刻将会将document.readyState属性设置为"complete",此时刻就是domComplete。如果被请求的文档来自于前一个同源(同源策略)的文档,那么该属性存储的是浏览器开始卸载前一个文档的时刻。表示同源的前一个文档卸载完成的时刻。
2024-03-26 21:30:31
1978
原创 CommonJS 和 ES Modules 对于模块引入的区别
问: CommonJS 和 ES Modules 中模块引入的区别?CommonJS 输出的是一个值的拷贝;ES Modules 生成一个引用,等到真的需要用到时,再到模块里面去取值,模块里面的变量,绑定其所在的模块。我相信很多人已经把这个答案背得滚瓜烂熟,好,那继续提问。问:CommonJS 输出的值是浅拷贝还是深拷贝?问:你能模拟实现 ES Modules 的引用生成吗?
2023-09-17 13:04:24
191
原创 浅谈Cookie、Session、Token
深度剖析Cookie机制、Session机制、Token机制。文章比较详细,坚持看完一定会有收获,从此再也不惧怕这三大机制。
2021-06-22 11:56:34
429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人