4 scorpio_h

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2w+

window.performance.timing 字段说明和主要性能指标

window.performance是W3C性能小组引入的新的API,目前IE9以上的浏览器都支持。字段说明:connectStart 和 connectEnd: 分别代表TCP建立连接和连接成功的时间节点。domComplete:html文档完全解析完毕的时间节点。domContentLoadedEventStart 和domContentLoadedEventEnd:代表DOMContentLoaded事件触发和完成的时间节点。页面文档完全加载并解析完毕之后,会触发DOMConte.

2020-10-28 14:42:39

如何打乱一个数组

方法一:新建个空数组,从原数组中随机截取一个元素插入空数组中,直到数组长度变为0function random (arr) { let dp = [...arr] const result = [] while (dp.length > 0) { let randomIndex = Math.floor(Math.random() * (dp.length)) result.push(dp.splice(randomIndex, 1)[0]) } return

2020-10-10 15:42:33

处理VUE移动端输入法遮挡input输入框的问题

1、tmplate部分<input v-model="id" @blur="blurIn">2、methods方法blurIn() { window.scrollTo(0, Math.max(this.scrollHieght - 1, 0))}3、computed部分computed: { scrollHeight() { return ( document.documentElement.scrollTop.

2020-10-09 16:45:42

函数节流

浏览器中某些计算和处理要比其他的昂贵很多,例如DOM操作、AJAX请求等。函数节流的基本思想是,某些代码不可以没有间断的情况下连续重复执行。第一次调用函数,创建一个定时器,在指定的时间间隔之后...

2020-08-10 15:34:56

防纂改对象(不可扩展、密封、冻结)简介

JavaScript共享的本质一直是开发人员心头的痛。任何对象都可以被在同一个环境中运行的代码修改。ES5致力于解决这个问题,可以让开发人员定义防纂改对象。对象属性可以通过修改Configurable、Writable、Enumerable、Value、Get、Set等特性,以改变属性的行为。类似ES5增加了几个方法,通过它们可以指定对象的行为。一、不可扩展对象默认情况下,所有对象都可扩展,任何时候都可以向对象添加属性和方法。例如:现在可以使用Object.prevent...

2020-08-06 11:40:56

搭建vue + typeScript 脚手架

1、准备基础环境,包括安装node.js,可通过命令 vue --version 检查是否安装好vue/cli。2、创建项目,通过命令 vue create <project name>。3、打开项目,通过终端安装ts。 vue add @vue/typescript。4、安装vuex。 npm i vuex...

2020-06-07 23:39:57

random()的使用技巧

Math.random() 方法返回大于等于0小于1的一个随机数。套用下面的公式,就可以利用 Math.random() 从某个整数范围内随机选择一个值。值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)公式中使用 Math.floor() 方法,是因为 Math.random() 总返回一个小数值。而利用这个小数值乘以一个整数,然后再加上一个整数,最终结果仍然是一个小输。例如:随机选择 1 ~ 10 之间数值:var num = Mat.

2020-05-20 11:38:29

三个基于子字符串创建新字符串的方法:slice()、substr()、substring()的区别

这三个方法都会返回被操作字符串的一个子字符串,而且也都接受一个或两个参数。第一个参数指定子字符串的开始位置,第二个参数(在指定的情况下)表示子字符串到哪里结束。slice()和 substring()的第二个参数指定的是子字符串最后一个字符后面的位置(留头不留尾)。 substr()的第二个参数指定则是返回的字符个数。 如果没有给这些方法传递第二个参数,则将字符串长度作为结束位置。与 concat() 方法一样,这三个方法也不会修改字符串本身的值——它们只返回一个基本...

2020-05-19 11:42:18

VSCode编辑器中TypeScript自动编译配置

1、运行 tsc --init ,创建 tsconfig.json 文件。2、将红色这项的注释去掉。3、VSCode 中选择终端--运行任务4、选择 tsc:监视此时ts文件会自动编译成js文件并保存在js目录中

2020-05-18 23:02:57

如何准确的直接打印出数据类型

function checkedType(target) { return Object.prototype.toString.call(target).slice(8, -1)}以下分别是校验 函数、数组、对象、字符串、数值、Date、null 类型的结果

2020-05-14 15:05:20

使用 JavaScript Proxy 实现简单的数据绑定

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>proxy</title></head><body> <h1>使用Proxy 和 Reflect 实现双向数据绑定</h1&gt...

2020-03-03 14:48:48

position 有哪些值?absolute/relative 是相对于谁定位的?

absolute: 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 relative: 生成相对定位的元素,相对于其正常位置进行定位。 fixed: 生成绝对定位的元素,相对于视窗口进行定位. static:默认值。没有定位 inherit:规定应该从父元素继承 position 属性的值。...

2020-02-18 15:12:27

手写数组的 reduce 函数

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。对空数组是不会执行回调函数的。 Array.prototype.myReduce = function (fun, value = 0) { for (const item of this) { value = fun(item, value) ...

2020-02-18 14:48:58

说一说JavaScript 中的事件循环(event-loop)?event-loop 为什么这么设计?和 node 中事件循环有没有区别?

事件循环分为两种,macro和micro。JS执行过程中会先执行同步任务,然后清空microtask队列,最后执行macrotask,如此反复。eventloop其实是为了解决一些异步回调,I/O操作。假设不区分marco/micro,统一都在macro处理,那callback可能就会很晚才执行,造成逻辑错误或者渲染很慢。micro在每一个macro前统一执行则很好的解决了这个问题,让回调...

2020-02-18 13:50:39

let、const、var 区别是什么?暂时性死区是什么?

let和const都是块级作用域,不存在变量前提 const是声明常量,不允许改变。但是const定义的是一个对象,keep的仅仅是对象的地址,对象内的属性依旧可以被改变。 var作用域为函数作用域暂时性死区指的是在被let或const定义的变量,在该变量被声明之前无法被访问,会报错...

2020-02-18 13:39:19

如何实现DFS和BFS?

DFS(深度优先搜索):遍历当前节点的全部子节点。再遍历同一级的节点 BFS(广度优先搜索):遍历兄弟节点,再遍历节点下的子节点测试dom: <div id='root'> <span>123 <a href="#"> sdsd </a>...

2020-02-18 11:46:18

ES6 的 class 继承为什么一定要写 super()?super代表什么?

ES6在继承中强制要求,必须在子类调用super,因为子类的this是由父类得来的。 super等价于parent.prototype.constructor.call(sub)。super即可以做为函数调用,又可以做为对象使用。做为函数时,只能在constructor内部调用。做为对象则可以在别的方法内调用。 class B extends A {} super如果再静态方法内调用,sup...

2020-02-18 10:16:27

JavaScript 中,new 实现原理是什么?自己写一个 new 的实现?

创建一个新的空对象 设置这个对象的原型链为被new的prototype 把参数传入被new的对象并且绑定this 如果返回的是一个对象则直接返回对象,如果返回的是基本数据类型则忽略。function create(Con, ...args) { const obj = {} Object.setPrototypeOf(obj, Con.prototype); // obj.__p...

2020-01-21 16:55:42

原型链的个人理解

构造函数:var M = function (name) { this.name = name}获取该M构造函数的原型对象:console.log(M.prototype)再获取M.prototype的构造函数,并证明是否结果是M:console.log(M.prototype.constructor) console.log(M.prot...

2019-07-06 21:04:41

ES6基础知识点

ES5 及 ES6 中类的区别是什么?Object.keys 没法枚举出ES6里的属性和方法,ES5可以 class 没有变量提升 class 不可重复定义,ES5的function可以覆盖前面的ES6 中的箭头函数有什么特性?和普通函数有什么区别?自动绑定作用域的this,指向上层作用域。 箭头函数不能new。 箭头函数没有arguments 箭头函数直接return的时候可...

2020-01-20 15:50:46

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。