随笔分类 -  JS

基础
摘要:<div class="videos"> <video id="videoOuelet" class="video-flv" controls muted autoplay> Your browser is too old which doesn't support HTML5 video. </v 阅读全文
posted @ 2022-06-24 15:33 lutwelve 阅读(350) 评论(0) 推荐(0) 编辑
摘要:for…in 循环 for..in 循环也会迭代继承的属性。 let animal = { eats: true }; let rabbit = { jumps: true, __proto__: animal }; // Object.keys 只返回自己的 key alert(Object.ke 阅读全文
posted @ 2022-04-26 18:03 lutwelve 阅读(163) 评论(0) 推荐(0) 编辑
摘要:proto 和 [[Prototype]] 的区别 proto 是 [[Prototype]] 的因历史原因而留下来的 getter/setter 初学者常犯一个普遍的错误,就是不知道 proto 和 [[Prototype]] 的区别。 请注意,proto 与内部的 [[Prototype]] 不 阅读全文
posted @ 2022-04-26 18:02 lutwelve 阅读(188) 评论(0) 推荐(0) 编辑
摘要:闭包是个老生常谈的问题,所以写个记录下什么是闭包,闭包怎么来的,这里就从代码块开始说起。 代码块 {...} 花括号中声明的变量对于外部是不可见的。 其中函数 function () {...}; if(){...};for(let i;;){...};while{...} // 例 1 if (t 阅读全文
posted @ 2022-04-26 17:59 lutwelve 阅读(61) 评论(0) 推荐(0) 编辑
摘要:多层for循环跳出 使用break打断,指定位置out。 例如 out:for(;;){ break out; } // 方式一 指定位置 let i = 0; out1: for (;i < 4;) { i++; console.log('i', i); let j = 0; for(;j< 5; 阅读全文
posted @ 2022-04-25 17:37 lutwelve 阅读(903) 评论(0) 推荐(0) 编辑
摘要:防抖和节流 首先两者的区别 防抖:N秒内只触发一次,如果N秒内再次触发则重新计算时间; 节流:N秒内只触发一次,如果N秒内再次触发也不会执行; 防抖的实现 这里使用Vue自定义指令的形式实现,核心代码是事件绑定那段 /** * @description Vue自定义指令 * @param argme 阅读全文
posted @ 2022-04-13 15:26 lutwelve 阅读(638) 评论(0) 推荐(0) 编辑
摘要:echarts控制台报错和100px宽度问题 起因echarts的父元素没有宽高或者设置了v-show; 解决思路 父元素没有宽高或者 需要在mounted钩子中开始绘制(这个时候Dom已渲染); 或者使用this.nextTick(()=>{console.log('需要做的操作')}); v-s 阅读全文
posted @ 2022-04-11 16:24 lutwelve 阅读(324) 评论(0) 推荐(0) 编辑
摘要:try...catch try...catch语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。 语法 try { // 需要被执行的语句。 // try_statements } // 如果在try块里有异常被抛出时执行的语句。 catch (exception) { // catch_st 阅读全文
posted @ 2022-03-01 16:22 lutwelve 阅读(865) 评论(0) 推荐(0) 编辑
摘要:需求:数据量超出屏幕时,屏幕自动滚屏 分以下步骤 获取纵向滚动条的位置 使用定时器增加滚动量 鼠标移入时滚动暂停 鼠标移出时滚动继续 上代码 // 定义全局变量定时器 let setTimeName = null; /** * @description 初始化屏幕滚动 * @params {Stri 阅读全文
posted @ 2022-02-17 16:35 lutwelve 阅读(588) 评论(0) 推荐(0) 编辑
摘要:滚动截图 项目需求要进行动态的滚动截图搜索一下发现html2canvas可以实现截图,但是滚动截图网上搜罗了一遍发现不是很完善所以记录下 首先npm一下安装依赖: npm install html2canvas 再需要的页面引入: html2canvas from html2canvas 第三步使用 阅读全文
posted @ 2022-02-17 15:07 lutwelve 阅读(2060) 评论(0) 推荐(0) 编辑
摘要:文件上传下载格式化方法 1、上传 文件上传前端格式限制 <input ref="showinput2" v-show="false" type="file" @change="upFile()" accept="application/vnd.openxmlformats-officedocumen 阅读全文
posted @ 2022-01-13 16:24 lutwelve 阅读(109) 评论(0) 推荐(0) 编辑
摘要:进制转换(二、八、十、十六进制转换) 1、进制之间都可以互相转换 二进制(Binary简写B, 添加在数字后面例 (010101)B) 0和1; 八进制(Octal简写O, 添加在数字后面(076451)O) 基数8,每列0-7; 十进制(Decimal简写D, 添加在数字后面) 基数10,每列0- 阅读全文
posted @ 2022-01-13 16:20 lutwelve 阅读(1453) 评论(0) 推荐(0) 编辑
摘要:事件 事件分两种:普通事件和绑定事件 普通事件 普通事件为DOM对象的键值对方式 类似于元素属性值(键值对) <span onclick="fn">普通事件</span>; 两种事件的区别:普通事件不能重复添加,只有最后一次添加才生效,而addEventListener事件可以多次绑定生效,例如 / 阅读全文
posted @ 2022-01-13 16:17 lutwelve 阅读(753) 评论(1) 推荐(0) 编辑
摘要:Object.defineProperty(objectName, key, option); Object.defineProperty()可以直接在一个对象上定义一个新属性, 或者修改一个属性, 并返回该对象; option value: 表示该属性的值, 默认 undefined。 get: 阅读全文
posted @ 2022-01-13 16:17 lutwelve 阅读(67) 评论(0) 推荐(0) 编辑
摘要:数组 []; 通常被描述为像列表一样的对象,或者说数组是包含了多个值的对象 一些方法 arr.flat/flatMap(); 数组扁平化; arr.join(','); 合并成字符串, 带参数=>例如使用 ";" 拼接 ⇒ array.join(';'); arr.split(';'); 分割成数组 阅读全文
posted @ 2022-01-13 16:15 lutwelve 阅读(99) 评论(0) 推荐(0) 编辑
摘要:window.prompt(); 语法 window.prompt(text, value) ⇒ 打开一个弹出带提示的输入框, 第一个参数是提示内容, 第二个参数是输入框内容; 第二个字符串参数写的是什么返回什么; Function函数对象 new Function([arg1[, arg2[, . 阅读全文
posted @ 2022-01-13 16:14 lutwelve 阅读(44) 评论(0) 推荐(0) 编辑
摘要:this指向 apply/call() 可以把 this 引用到任意对象 this关键词指的是它所属的对象 ⇒ [谁调用指向谁] 方法中, this 指的是所属者对象; example: const person = { firstName: "Bill", lastName : "Gates", 阅读全文
posted @ 2022-01-13 16:13 lutwelve 阅读(34) 评论(0) 推荐(0) 编辑
摘要:显式绑定法 apply/call(); 通过显式绑定法可以使用另一个对象中的方法 apply/call()都是JS预定义的方法, 他们都可以用于将一个对象作为参数调用对象方法 FOR example const person1 = { nameFunction: function() { retur 阅读全文
posted @ 2022-01-13 16:11 lutwelve 阅读(48) 评论(0) 推荐(0) 编辑
摘要:JS类型检测主要有四种 1、typeof Obj 2、L instanceof R 3、Object.prototype.toString.call/apply(); 4、Obj.constructor Remark前两种是数据类型检查方式,后两种是构造函数判断 首先了解下显式原型prototype 阅读全文
posted @ 2022-01-13 16:10 lutwelve 阅读(231) 评论(0) 推荐(0) 编辑
摘要:JS性能 1、for循环优化 循环每迭代一次,循环中的每条语句都会被执行包括for() 能够放在循环之外的语句或赋值会使循环运行得更快。 // example每次 for(let i = 0; i < arr.length; i++) {} // 优化后 let i; const arrL = ar 阅读全文
posted @ 2022-01-13 16:08 lutwelve 阅读(148) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示