- 博客(15)
- 收藏
- 关注
原创 JS基础面试高频(三):浅拷贝和深拷贝
前言工作中可能会遇到这样一个问题,我明明把数据拷贝了一份,但改变拷贝后的数据居然同时会改变原始数据中的值。那就来看看为什么吧,希望这篇文章可以给你解惑。什么是浅拷贝?只拷贝了数据对象的第一层,深层次的数据值与原始数据会互相影响(拷贝后的数据与原始数据还存有关联)常见浅拷贝的方式: Object.assign() 、 扩展运算符const obj1 = { name: 'dog', info: { age: 3 } }const obj2 = Object.assign({}, obj1)/
2020-10-19 17:50:18 475
原创 JS基础面试高频(二):数据类型【进阶】
前文JS基础知识(一):数据类型介绍了几种数据类型,这一篇来讲一下数据类型的进阶使用1.数据类型的转换转换为String类型1.toString()方法。(基础数据类型本身没有该方法,但会通过原型链去找原型对象中的方法)const a = 123console.log(a.toString()) // '123'const b = trueconsole.log(b.toString()) // 'true'const c = Symbol()console.log(c.toStrin
2020-10-13 10:38:29 417
原创 JS基础面试高频(一):数据类型
JS中的数据类型有两大类,基础数据类型和引用数据类型1.基础数据类型String、 Number、 Boolean、 Undefined、 Null、 Symbol(ES6)、 BigInt(ES2020)存储于栈内存中,数据大小确定,按值存放,所以能够直接访问JavaScript中的原始值是不可更改的:任何方法都无法更改(或“突变”)一个原始值。对数字和布尔值来说显然如此 — 改变数字的值本身就说不通,而对字符串来说就不那么明显了,因为字符串看起来像由字符组成的数组,我们期望可以通过指定索引来改
2020-10-11 14:36:30 428
原创 记录安装husky失败的原因及解决方法
在安装husky的过程中,报错如下Cannot destructure property name of ‘undefined’ or ‘null’.husky > Failed to install安装是使用的cnpm淘宝镜像安装的,查看github上找到了问题的issueshttps://github.com/cnpm/cnpm/issues/317后来改成npm安装就可以了(如果npm安装也失败的话请先升级npm包版本)此处建议使用npm或者yarn安装依赖包不推荐cnpm,有时
2020-09-21 16:02:27 7498
原创 记录下input输入框自动填充的坑,附带解决方法
坑一:当自动填充数据后,输入框所展示的效果特别丑,会有自带的填充样式解决方法: 可以修改:-webkit-autofill中box-shadow的属性去改变输入框自动填充的颜色input:-webkit-autofill { box-shadow: 0 0 0px 1000px #f8f8f8 inset !important;}可以看下修改完后的效果注意: 如果需要使用透明色或者是有透明度的填充色,需要设置自动填充延迟才能生效// 设置输入框自动填充的延迟属性input:-web
2020-09-07 13:56:12 1174
原创 js解析url地址栏参数,看这一篇就够了
1.针对当前地址栏// http://xxx?type=listconst paramsStr = window.location.searchconst params = new URLSearchParams(paramsStr)params.get('type') // list2.针对已知url字符串const url = new URL('http://xxx?type=list')const paramsStr = url.search.slice(1)const params
2020-09-03 15:35:58 7560
原创 Vue3.0中vite初体验
先介绍下 Vite 是一个由原生 ESM 驱动的 Web 开发构建工具。在开发环境下基于浏览器原生 ES imports 开发,在生产环境下基于 Rollup 打包。它主要具有以下特点:快速的冷启动即时的模块热更新真正的按需编译话不多说,直接干npm方式安装$ npm init vite-app <project-name>$ cd <project-name>$ npm install$ npm run devyarn方式安装$ yarn cr
2020-08-27 10:59:41 826
原创 css控制展示多行文字,超出文字隐藏
注意:一定要设置该容器的高度.hide { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 7; // 控制显示几行 overflow: hidden; text-overflow: ellipsis; width: 300px; height: 126px; font-size: 1
2020-06-10 13:45:28 234
原创 vue+elementui 做的一个图片放大预览组件
基于element-ui中自带的一个组件(el-image-viewer)可自行去对应文件目录查看// preview.vue<template> <el-image-viewer v-if="showPreview" :urlList="previewImages" :on-close="closeViewer" ></el-image-viewer></template><script>import
2020-06-05 18:16:34 2859
原创 js精度丢失导致number类型数字末尾变为0
问题描述:后端传给前端的数字末尾会变成000出现原因:后端返回的数字因为是long类型,到前端解析的时候会出现精度丢失问题例如1578499211000002686,我们接收后会变成1578499211000002600解决方案:让后端把long类型转成string类型再返回...
2020-05-26 19:42:22 1600
原创 node管理工具nvm的一些坑
安装nvm管理工具前,需要把nodejs从电脑中删除使用nvm install 安装node版本大于8.11.0的包中不会有npm解决1:直接从npm包下载地址下载node对应的npm包放入nvm安装node对应版本的node_modules的npm文件夹中解决2:直接从node包下载地址下载对应版本的包后放入nvm安装地址中...
2019-12-18 10:12:00 160
转载 对JS闭包的简单理解
直接上代码function f1() { var n = 999; add = function () { n++; } function f2() { return n; } return f2;}var a = f1();console.log(a()); //999上面代码中声明了一个a全局变量,把f...
2019-06-16 17:41:50 115
原创 在chrome浏览器中安装vue插件
GitHub上下载vue插件 https://github.com/vuejs/vue-devtools下载好后解压,进入该目录命令窗口执行cnpm install,安装完后再执行cnpm run build修改manifet.json中persistent的值为true5.打开谷歌浏览器扩展程序chrome://extensions/,把shells文件夹下的chrome文件夹拖入...
2019-06-12 13:48:25 2673
原创 Node.js的安装-看这个就够了
Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/Node.js 历史版本下载地址:https://nodejs.org/dist/Windows上安装下载安装包(.msi)运行后安装输入node --version命令来检测nodejs版本Mac OS上安装下载pkg安装包,双击运行输入node -v命令来检测node...
2019-06-09 17:43:29 130
原创 利用webpack和vue-cli搭建项目
前提是已经安装好nodejs和npm(https://mp.csdn.net/postedit/91353895)简单的来说就是分以下四个步骤(Mac OS):1.下载vue全局脚手架sudo npm install -g vue-cli2.搭建文件名为test的项目Set up unit tests 和Setup e2e tests with Nightwatch 不需要...
2019-06-09 16:35:50 203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人