3 scorpio_h

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2w+

搭建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

Array.prototype.slice.call()方法理解

相信很多同学翻看代码的时候都有看到类似下面这个方法Array.prototype.slice.call()逐个解析这个方法:slice:用来截取截取字符串方法 Array: javascript的一个引用类型,其原型prototype上有一个方法叫slice call和apply : 用来改变对象中函数内部的this引用综上可以得知这个方法的主要目的是为了将类数组转化为数组...

2020-01-20 11:10:38

手写 bind 函数

Function.prototype.myBind = function(thisArg) { if (typeof this !== 'function') { return } var _self = this var args = Array.prototype.slice.call(arguments, 1) var fnNop =...

2020-01-19 17:16:36

call、apply 的区别?谁性能更好?

call:第一个参数是为函数内部指定this指向,后续的参数则是函数执行时所需要的参数,一个一个传递。 apply:第一个参数与call相同,为函数内部this指向,而函数的参数,则以数组的形式传递,作为apply第二参数。 call 的性能更好,不过 lodash 里的源码当参数小于等于 3 时用 call,之后用 applycall:Function.prototype.myCal...

2020-01-19 15:20:54

JavaScript 中,执行上下文及执行上下文栈是什么?

执行上下文就是指代码执行的作用域,js中常见的有全局上下文,函数上下文。 JS引擎使用执行上下文栈来管理执行上下文。上下文栈确保了JS的执行过程,我们知道JS是单线程的,所以每次需要创建新的上下文就会对应一个上下文栈,遵循先进后出的原则。var a = 1;function b() { console.log(a) function c() { console....

2020-01-19 14:49:00

XHR 的各种data类型对应的content-type header是什么?手写 XHR

XHR 的各种data类型对应的content-type header是什么?1、application/x-www-form-urlencoded:最早的post请求中,参数通过浏览器url传递,不支持文件上传POST /test HTTP/1.1Host: foo.exampleContent-Type: application/x-www-form-urlencodedCon...

2020-01-17 16:44:11

查看更多

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