royxu

TA的文章
  • JavaScript进阶(一)——内存空间
    因为JavaScript具有自动垃圾回收机制,所以对于前端开发来说,内存空间并不是一个经常被提及的概念,很容易被大家忽视。特别是很多不是计算机专业的朋友在进入到前端之后,会对内存空间的认知比较模糊,甚至有些人干脆就是一无所知。 在很长一段时间里认为内存空间的概念在JS的学习中并不是那么重要。可当我回过头来重新整理JS基础时,发现由于对它的模糊认知,导致了许多知识理解得并不明白。比如最基本的引用数据类型和引用传递到底是怎么回事儿?浅复制与深复制有什么不同?闭包到底是什么?等等。 因此,想要对JS的理解更加深刻,就必须对内存空间有一个清晰的认知。 在学习内存空间之前,我们需要对三种数据结构有一个清...
    •  3
    •  0
    •  2021-02-11
  • 鼠标事件之Event
    前端鼠标事件有如下几类: onclick onmousedown onmouseup onmousemove onmouseover onmouseout box.onclick = function(e){ console.log(e) } box.onmousedown = function(e){ console.log(e) } box.onmouseup = function(e){ console.log(e) } box.onmouseover = function(e){ console.log(e) } box.onmouseout = fun...
    •  1
    •  0
    •  2021-01-26
  • ES6~ES11新增特性合集
    ES6 let 和 const 区别1:var声明的变量会挂载在window上,而let和const声明的变量不会 区别2:var声明的变量存在变量提升,而let和const不存在变量提升 区别3:let和const声明形成快作用域 区别4:同一作用域下的let和const不能声明同名变量,而var可以 字符串方法和模板字符串 // 模板字符串 const name = 'mySkey' const str = `my name is ${name}` // startsWith 判定字符串是否以另一个字符串开头,返回布尔值 console.log('hello wolrd'.starts...
    •  1
    •  0
    •  2021-01-04
  • npm 安装报错 "npm ERR! code Z_BUF_ERROR" 问题解决
    最近在维护一个老项目,vue-cli脚手架的早期版本(我还是个不懂事的孩子),工程down下来先来一波常规操作npm install,一点都不意外的出现了报错,这种陈年老项目一般都是三无(一没readme,二没package-lock.json,三没依赖版本控制),俗话说如果报错了,那就再来一遍npm install,然鹅。。。 I’m all done. Running npm install for you to install the required dependencies. If this fails, try running the command yourself. npm ...
    •  2
    •  0
    •  2020-12-23
  • JS 深拷贝爬坑
    借用网上基本为复制粘贴的一段话: 深拷贝和浅拷贝最根本的区别在于是否是真正获取了一个对象的复制实体,而不是引用,深拷贝在计算机中开辟了一块内存地址用于存放复制的对象,而浅拷贝仅仅是指向被拷贝的内存地址,如果原地址中对象被改变了,那么浅拷贝出来的对象也会相应改变 总结上面的话就是: 深拷贝:新开堆内存,对原数据不会产生影响 浅拷贝:复制空间引用地址,栈内存中操作,会对原数据产生影响 深拷贝(常用数组与对象拷贝方法汇总) · slice和concat方法数组拷贝 缺陷:只会对第一层数据进行深拷贝,仅适用于不包含引用对象的一维数组 let arr = [1, 2, { text: '这是源数...
    •  2
    •  0
    •  2020-08-28
  • 关于File对象兼容性
    在一次老项目的优化中无意中碰到了File对象,同时也遇到了一些坑,话不多说直接上代码 // Chrome typeof file result: function // IE except Edge typeof file result: object // Edge typeof file result: function 你以为你看到的就是你看到的吗?事实上虽然chrome和edge的返回值不一样,但是在Edge中使用new File()依旧会报错 解决办法: 对当前浏览器进行判断,如果为IE浏览器使用如下代码
    •  1
    •  2
    •  2020-07-27
  • try catch 如何捕获到 JS 异常
    平常撸代码的时候,try catch 用的太多了,特别是一些 ”安全感" 低的人,基本是到处 try catch,生怕 JS 报错,然后页面整个挂掉了。 之前 代码报错的时候,线程执行未进入 try catch,那么无法捕捉异常。 比如语法异常(syntaxError),因为语法异常是在语法检查阶段就报错了,线程执行尚未进入 try catch 代码块,自然就无法捕获到异常。 try{     a. }catch(e){     console.log("error",e); } // outputUncaught SyntaxError: Unexpected token '}' 之中 代...
    •  1
    •  0
    •  2020-05-08
  • React骨折入门
    最近赶上项目react重构,正好也有点遗忘了...(bu hui le)趁这个机会来梳理一波把,后期关于redux,redux-saga,hook都会慢慢输出哈~路过的客官大老爷敬请指正哈 1、什么是JSX 一个JSX语法的示例,如下所示 const msg = 'world!'; const element = (     <h1>Hello, {msg}</h1> ); ReactDOM.render(     element,     document.getElementById('app') ) 这种语法形式,既不是HTML,也不是字符串,而是称之为JSX,是React里用来描...
    •  2
    •  0
    •  2019-07-17