
JavaScript技术
谁是世界上最美丽的语言?
热爱生活、热爱编程、热爱技术
展开
-
typescript 高级类型体操
类型体操练习原创 2022-09-12 20:12:29 · 815 阅读 · 1 评论 -
TypeScript 实现一个简易版Promise
快速上手Promise原创 2022-07-07 23:09:03 · 890 阅读 · 0 评论 -
TypeScript 混入
Typescript实现简易版混入模式感兴趣的小伙伴欢迎学习、讨论、共同进步!!!原创 2022-05-23 15:13:11 · 411 阅读 · 0 评论 -
JavaScript 手动封装Set集合(包括求交并差集)
ES6的js新增了Set集合,为这门语言带来了集合数据结构,为了更深层次的理解Set集合底层封装机制,我们来手写一个Set集合。首先要知道Set集合的内置方法和属性有哪些?Set内置一个类似对象数组的一种数据结构,我们就用set数组来代替,同时还有一个size属性指向集合的总个数。其他内置方法包括:增、删、查、遍历接下来我们开始写代码:'use strict'//迭代器const mySet = function () { const wm = new WeakMap();原创 2021-08-06 11:37:05 · 403 阅读 · 0 评论 -
JavaScript私有属性方法的三种实现过程
大家可能知道ES11已经从官方规范上实现了“私有”的概念,不管是私有属性还是私有方法都只需要在前面加上“#“即可,但是ES11版本太新,担心可能很多浏览器不能很好的支持,并不是所有用户都会使用Chrome,对吧? 所以这一次我们从ES5开始到ES6实现私有化的概念一、ES5闭包'use strict'//第一种const Test=function(){ //定义私有属性 let privateAttr; function Test(id){ privateA原创 2021-07-23 21:36:35 · 849 阅读 · 2 评论 -
JavaScript生成器实现 对象迭代和python range函数
上一篇文章我实现了使用迭代器遍历对象,本篇文章使用生成器去实现对象迭代,再使用生成器去实现一个python的range函数个人感觉使用生成器来迭代对象:代码简洁,易于理解let fn1=Symbol("2");const obj2={ name:"生成器", arr:[1,2,3], *[Symbol.iterator](){ let index=0; let arr=Object.getOwnPropertyNames(obj2); while(index<arr原创 2021-07-16 14:42:03 · 240 阅读 · 0 评论 -
JavaScript 迭代器实现for of遍历对象
很多时候,我个人感觉开发过程中一味的使用for in 遍历对象不太方便,使用for of就比较轻松,但是好巧不巧对象没有部署迭代器,这就很烦了。。好在ES6是可以让我们自定义迭代器的,于是我们可以在对象上部署一个迭代器,这个迭代器的功能完全由开发者决定,不一定非要暴力枚举对象上的每个键值对,开发过程中按照实际需求来。在这里简单实现一个for of枚举对象的值'use strict' //迭代器 const obj={ name:"chn", age:18, arr:[1,原创 2021-07-15 22:56:59 · 288 阅读 · 2 评论 -
JavaScript实现单例模式的三种方式
/*第一种方式: 简单的使用一个私有变量来控制是否允许本次实例化对象获得一个this地址 第一次实例化对象的时候instance为null,允许将getInstance构造的内存地址分配给该实例对象,第二次 实例化对象,由于私有变量已经被赋值为getInstance的地址,所以直接返回这个地址,由此可以让两个甚至 多个对象的地址都是完全一样的,从而实现单例对象模式。*/const test=function(){ let instance=null; //...原创 2021-07-09 18:41:56 · 582 阅读 · 0 评论