- 博客(18)
- 收藏
- 关注
原创 js基础-函数执行(调用栈、全局上下文)
调用栈(ECStack):浏览器在计算机内存中分配一块内存,专门用来供代码执行(也就是提供代码执行的环境)全局上下文 GEC(global exection context)全局对象(GlobalObject)堆内存(Heap)
2022-07-19 18:32:23
200
原创 ES6学习(附电子书链接,高赞文章整理)
阮一峰的ES6教程(ES6 教程 - 网道)重点知识let 和 const 命令高赞文章(ES6,let 和 const 命令 - 掘金)let声明的变量只在当前代码块有效作用域不会提升,并且不允许重复声明。const包含let的特性,并且无法被重新赋值。变量的赋值结构 函数的扩展 数组的扩展 对象的扩展 对象的新增方法 Symbol唯一值 Set 和 Map 数据结构 Proxy Reflect Promise 对象 async 函数 Iterator 和 fo
2022-05-10 10:56:20
434
原创 JS的报错处理(throw、try、catch)
MDNthrow语句用来抛出一个用户自定义的异常。当前函数的执行将被停止(throw之后的语句将不会执行),并且控制将被传递到调用堆栈中的第一个catch块。如果调用者函数中没有catch块,程序将会终止。当日常代码逻辑较复杂时可以使用异常快速定位错误,并进行相应处理。throw抛出异常,可以是一段字符串、数字、布尔function test(i) { if(i === 0) { throw "i不能等于0"; //throw 777; ..
2022-01-18 09:51:03
4532
原创 js中的微任务和宏任务,附面试题
因为javascript是一门单线程语言,所以代码的解析执行都要以自上而下的执行,直到任务队列(task queue)的出现,js开始有了异步任务,当一段代码需要稍后执行时,便可以使用异步方案(setTimeout、setInterval、Poromis、Axios、Dom事件)来使指定操作添加到异步任务中。
2022-01-12 13:52:35
1975
原创 基于Proxy、Map、WeakMap实现响应式数据
基于Proxy、Map、WeakMap实现响应式数据,跟着视频学习梳理思路模仿了一遍。底部为全部代码。。。
2021-12-15 14:52:26
841
原创 es10、11、12新特性
ES10flat (多维数组转换成低维数组)MDNflat()方法创建一个新数组,其中所有子数组元素递归连接到该数组中,直到指定的深度。let ary = [1, [2, [3, [4, 5]]], 6];console.log(ary.flat()); //[ 1, 2, [ 3, [ 4, 5 ] ], 6 ]console.log(ary.flat(3)); //[ 1, 2, 3, 4, 5, 6 ]flatMapMDN方法返回一个新数组,该数组通过对数组..
2021-12-02 15:57:37
617
原创 ES7新特性(values、entries、padStart、padEnd)
Object.values() // 情境一、(普通对象)let obj1 = { name: 'pxq', age: '22'}console.log(Object.values(obj1)); //***[ 'pxq', '22' ] 以数组形式返回key// 情境二、(key为数字格式)let obj2 = { 2: 'pxq', 3: '22', 1: 'zuqiu'}console.log(Object.values(obj2)); //***[ 'z.
2021-12-01 16:29:38
689
2
原创 浏览器缓存(sessionStorage、localStorage、cookie)
sessionStorage,关闭窗口清除 localStorage,强缓存,手动删除 cookie,设置有效期 1. sessionStorage特性1: 强制刷新不会清楚数据 (MDN: 只读sessionStorage属性访问当前源的会话存储对象。会话存储类似于本地存储;不同之处在于,虽然localStorage中的数据不会过期,但当页面会话结束时,sessionStorage中的数据将被清除。)特性2: 多个窗口数据不会同步 (MDN: 每当在浏览器的特定选...
2021-11-29 11:38:07
1900
原创 ES6新特性整理
字面量增强(语法糖)对象 // es5 var aaa = 1; var bbb = 2; var obj = { aaa: aaa, bbb: bbb } // => es6 (属性和值相同时,可简写;) var aaa = 1; var bbb = 2; var obj = { aaa, bbb }方法 // es5 var fuc = { aaa: function() { co
2021-11-26 14:22:29
479
原创 SCSS学习笔记
1. 安装npm i -S node-sass sass-loader2. 配置<style lang="scss" ></style>3. 基本功能3.1 变量声明$ + 自定义name 创建变量,可重复赋值变量,当使用 “ !default” 时,只有当前变量未在模版中声明时生效。<style lang="scss">$pxq-color: #777;$pxq-color: #999 !defaul...
2021-11-09 15:22:31
319
转载 vue页面(vue Cannot GET /)
方法一、https://segmentfault.com/q/1010000040394171https://segmentfault.com/q/1010000040394171方法二、vue项目出现 cannot GET/ 的问题总结_似水流年-优快云博客1.没有报错,页面显示cannot GET,经过排查发现config/index.js里的dev做了改动。他想实现pc和移动端跳转,所以修改assetsPublicPath: '/m/'。在移动端访问直接走'/m/#'。直接npm run .
2021-11-02 13:52:05
1162
原创 Dom可见但不影响下层级操作
需求:tab切换右边有时会无法全部显示单个标题,造成美观度不足,于是加了个div渐变。但是会影响边缘点击。解决方案:把div设置pointer-events属性兼容性:/* 元素遮罩层不遮挡下方元素的代码 */-webkit-pointer-events: none;-moz-pointer-events: none;-ms-pointer-events: none;-o-pointer-events: none;pointer-events: no...
2021-10-28 11:20:16
238
原创 使用vue-router时,根据需求选择路由跳转或新窗口打开,ctrl和滚轮点击不影响
运用场景当在使用vue-router搭建导航时,既想局部渲染对应模块又不能舍弃Ctrl点击、滚轮单击打开新窗口功能,可以参考以下代码兼容性360浏览器、谷歌都可正常跳转HTML设置a标签点击事件,并且传入evert参数 <div> <a :href="link" @click="NavOn($event, link)"> {{ name }} </a> </div
2021-10-21 11:33:59
562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人