
js
js相关内容,以及es6等等
just today
这个作者很懒,什么都没留下…
展开
-
vscode通过webpack配置alias别名,路径填写不提示
路径提示转载 2022-08-08 16:43:53 · 885 阅读 · 0 评论 -
10.22 generator函数
文章目录generatorgenerator的两大开关yield nextnext传参generator循环 for ofgenerator生成器对象,用于异步编程,他和yield一起使用generator的两大开关yield相当于暂定键next()相当于播放键yield nextfunction* fn() { yield 'a'; yield 'b'; yield 'a'; yield 'd';}var _fn = fn(); //调用函数返回一个迭代器对象//nex原创 2021-10-22 20:50:55 · 78 阅读 · 0 评论 -
10.15 手写一个简单webpack
文章目录webpack是什么怎么手写webpack是什么webpack是一个打包工具,根据各个模块之间的关系,将文件打包到bundle.js文件中(分割,转译,合并)怎么手写如何执行打包命令 npx webpack打包完输出到dist目录,通过html文件引入并在浏览器上运行npx可以执行node_modules目录下的包npm init -y 自动生成一个package.js包管理文件分析打包生成的文件bundle.js,明白他的结构,以便自己生成一个这样的文件原创 2021-10-15 16:12:25 · 504 阅读 · 0 评论 -
10.10 正则表达式嵌套对象访问
正则?: //匹配但是不捕获. //除换行符意外的任意字符\r //回车\n //换行访问嵌套的对象已知 对象obj,还有要求的对象关系,返回最终的对象的值var obj = {a:{b:{c:2}}};var str = “obj.a.b.c”;求obj.a.b.cvar obj = {a:{b:{c:2}}};var str = "obj.a.b.c";var arr = str.split('.').slice(1);let res = arr.reduce((tota原创 2021-10-10 18:54:37 · 140 阅读 · 0 评论 -
input type=“date“
文章目录问题原因解决方法问题通过 <input type="date">标签选择时间然后提交到数据库,然后重新获取到值,通过设置value值,但是不能够显示原因首先我们需要明白,返回的值是date类型的对象,我们需要通过getFullYear()等函数,才能够获取到值input中value的格式 “2018-05-06”,中间通过-分割,不足两位的补0,不是这中格式的不能显示明白以上原因之后,我相信能够很容易写出来,我提供一种方法,仅做参考解决方法time.getFullY原创 2021-09-27 17:33:09 · 2472 阅读 · 0 评论 -
手写常用的数组函数,和bind
call//手写callFunction.prototype.myCall = function (context) { if (context === null || context === undefined) { context = window } let args = Array.from(arguments).slice(1); context.fn = this; let res = context.fn(...args);原创 2021-09-18 10:02:35 · 101 阅读 · 0 评论 -
将dom结构转换成json数据
四部曲过滤子节点 (去掉没有内容的text结构)生成tag生成attributes属性递归遍历childrenfunction dom2json() { function createObj(node) { var tag = node.nodeName.toLocaleLowerCase(); var obj = {}; //过滤子节点 const childList = Array.from(node.childNode原创 2021-09-13 21:15:43 · 730 阅读 · 0 评论 -
9.10 replace格式化时间
传入格式,格式化事件function formatDate(t, str) { var obj = { yyyy: t.getFullYear(), yy: ('' + t.getFullYear()).slice(-2), M: t.getMonth() + 1, MM: ('0' + (t.getMonth() + 1)).slice(-2), d: t.getDate(), dd: ('0' +原创 2021-09-10 16:13:33 · 158 阅读 · 0 评论 -
9.6 拖拽功能的实现
功能实现:主要通过三个事件来实现拖拽功能的 onmousesown 鼠标按下,onmousemove鼠标移动,onmouseup 鼠标弹起。**注意点:**三个事件添加的对象是不一样的,onmousesown是添加在要拖拽的元素上,另外两个事件是添加在document上,还有就是对距离的处理e.page //相对于浏览器的坐标核心代码: function drag(root) { //root:需要拖拽的元素 root.onmousedown = function (e) { va原创 2021-09-06 14:59:39 · 182 阅读 · 0 评论 -
8.20vue多环境打包
多环境打包添加环境在根目录下,建两个文件.env.dev //生产环境.env.prod //开发环境//.env.dev文件NODE_ENV = 'development';VUE_APP_URL = 'xxx'; //定义变量 都是以VUE_APP_ 开头//.env.prod文件NODE_ENV = 'production';VUE_APP_URL = 'xxx'; //定义变量 都是以VUE_APP_ 开头如何调用文件中的变量process.env.VUE_APP原创 2021-09-01 19:47:42 · 136 阅读 · 1 评论 -
6.11 js 防抖节流
防抖防抖vue保存this的值setStorageSync防抖一段时间只允许一件事情发生应用场景: 在输入时间的input事件的时候,每输入一个字符,就会触发该事件。**思想:**开启一个定时器,每过一段时间触发该事件,如果,还没到定时器规定的时间,又触发该事件,则清除之前的定时器。var timer = null;function debounce() { if (timer) { clearTimeout(timer); } timer = setTimeout原创 2021-06-12 00:17:21 · 152 阅读 · 0 评论 -
6.30 es6 proxy
proxy解释用法应用实现私有变量Object.defineProperty()与Proxy的异同解释proxy(代理)确切点说是拦截,在目标对象的外层搭建一层拦截用法proxy: 代理target:目标对象handler:用来指定拦截行为(也是一个对象)var target = { name:'zs', age: 12}var handler = { //当target被读取时自动触发该函数 get: (target,key) => { console.原创 2021-07-01 00:43:06 · 267 阅读 · 0 评论 -
6.29 es6 class
class定义继承定义class Point { constructor(x,y) { this.x = x; this.y = y } action() { }}var p = new Point(1,2);继承class Point { constructor(x,y) { this.x = x; this.y = y } action() { consloe.log(this.x+this.y) }}class A exten原创 2021-06-30 00:43:58 · 134 阅读 · 0 评论 -
6.29 宏任务与微任务
es6同步和异步宏任务和微任务在说宏任务和微任务之前,我们得先明白同步和异步,同步和异步有哪些操作是异步的呢?常见的有 回调函数, ajax请求 async等看完一下代码,你大概明白啥事同步,啥是异步setTimeout(() => { console.log(2);},100)console.log(1); //最终执行的结果为 1 2,因为 2是在异步操作中由于js是单线程的,所以执行程序的顺序是,先执行同步代码,将异步代码放入等待队列中,等待同步代码执行完成之后,在执行原创 2021-06-30 00:35:54 · 150 阅读 · 0 评论 -
6.24 async await
asyncasyncawaitasyncasync function() { return 123;}//async 返回一个promise对象,且返回的是resolve的结果 awaitpromise是同步的,then方法是异步的async是同步的 await是异步的同步,异步(宏任务,微任务)微任务: promise中的then,async awaitasync是返回promise,是同步的,await相当于then,是异步的宏任务: setTimeout set原创 2021-06-25 00:00:05 · 99 阅读 · 0 评论 -
6.23 promise
promisepromise鸡肋的symbolpromisepromise对象是一个保存还未发生事件的结果的一个容器对promise进行拆解promise对象本质是一个构造函数通过new得到实例const promsie = new Promise();promise接收一个函数作为参数const promsie = new Promise(function() {});该函数接收两个参数,resolve和rejectconst promsie = new Promise原创 2021-06-23 23:49:25 · 171 阅读 · 0 评论 -
6.22 es6 set map
es6对象扩展链判断运算符 ?.Set定义属性和方法与数组间的结构转换应用数组去重求交集并集补集Map对象扩展键值可以是变量,也可以,对字符串进行拼接的操作var obj = {};obj['get'+'name'] = 'xyz';var x = 'name';var obj = { [x]:'abc', [x+'set']:'hello'}链判断运算符 ?.message.body.user.firstName //这样多层访问容易出错message&&原创 2021-06-23 01:00:16 · 89 阅读 · 0 评论