自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

原创 单页面应用

多页面应用:每个页面都是独立的html文件,页面切换是整体刷新,需要重新加载html、css、JS等文件,容易实现搜索引擎,数据通过url、cookie、localStore传递。单页面应用:多个页面是同一个html文件,通过路由切换局部刷新页面实现,用户体验好,但难以实现SEO,数据传输方式方便,维护成本低。

2023-12-03 12:47:31 82

原创 说说你对Vue的理解

8. diff算法:react主要使用diff队列保存需要更新哪些DOM,得到patch树,再统一操作批量更新DOM,Vue 使用双向指针,边对比,边更新DOM。6. 数据变化的实现原理:react使用的是不可变数据,Vue使用的是可变的数据。7. 组件化通信:react使用回调函数来进行通信,Vue使用事件和回调函数。5. 数据流向:react是单向数据流,vue 是双向数据流。vue 是一个创建用户界面的开源JS框架,

2023-12-03 12:47:06 179

原创 vue 组件通讯

actions: 也是用来存放修改state的方法,不过action是在mutations的基础上进行。常用来做一些异步操作。getter: 可以增加一个getter派生状态,(相当于store中的计算属性),用来获得共享变量的值。mutations: 用来存放修改state的方法。// $refs可以访问子组件的属性和方法。state: 用来存放共享变量的地方。

2023-12-02 18:14:30 189

原创 vue 生命周期

定义:vue 实例从创建到销毁的过程,在某个特定的位置会触发一个回调函数作用:供开发者在生命周期的特定阶段执行相关的操作。

2023-12-02 17:11:16 147

原创 HTML5特性

HTML5新特性

2023-02-04 23:18:06 227

原创 href 和 src的区别

href 是Hypertext Reference 缩写,表示超文本引用,用于文档和外部资源之间建立一个关系。常用标签有 link , a<link href="index.css" rel="stylesheet" />浏览器会识别该文档为css文档,并行下载该文档,并且不会停止对当前文档的处理。@import加载css是把整个css引进文档中,一般建议使用linksrc 是source 缩写,用于替换当前元素,即把元素引进来。src指向的内容会嵌入到标签位置。当浏览器解析到该标签是会

2021-05-24 17:06:31 110

转载 eslint常用规则说明

常见的HTTP状态码: 1XX:浏览器的请求已被服务器正确接收。还需进一步操作100:客户端的请求已被服务器端正确接收。客户端可以采取继续发送或者或略此响应。 101:服务器理解了客户的请求,并且通过Upgrade消息头通知客户端采用不同协议完成这个请求。2XX: 请求被服务器端正确处理。200:请求被正确处理,并且返回了所希望的响应头和相应数据。 201:请求被实现,且一个新...

2021-05-11 14:04:30 204

原创 rem用法

游戏当中初始化的时间很长的原因

2021-05-11 14:01:34 266

转载 Object.defineProperty()

对象属性的定义与赋值的方法:obj.prop =valueobj[‘prop’]=valueObject.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象Object.defineProperty(obj, prop, desc)// obj 需要定义属性的当前对象// prop 属性名// desc 属性值javacript 有三种类型的属性命名数据属性:拥有一个确定的值的属性。这也是最常见的属性命名访问器属性:通过g

2021-05-07 20:14:04 91

原创 NProgress进度条插件

NProgress是页面加载是进度条插件安装:NPM安装npm install --save nprogressYarn安装yarn add nprogress引入:直接引入:<script src='nprogress.js'></script><link rel='stylesheet' href='nprogress.css'/>使用:NProgress.start(); // 开启进度条NProgress.done(); // .

2021-04-29 11:14:29 209

原创 项目运行报错‘ReferenceError: primordials is not defined‘

公司老旧项目新增需求,代码运行报错提示:ReferenceError: primordials is not defined’查询资料发现是gulp 和 node版本兼容问题,node12以上的版本不能兼容gulp3,查看一下果然本地的node版本12,工程gulp版本是3.9.1。解决方案:使用nvm 切换低版本的nodenvm use 10再npm run dev 运行项目, 结果还是报错, 提示要重新npm install先把node_modules文件夹删掉,再运行npm inst

2021-04-27 15:07:42 603

原创 vscode的elsint配置报错“The setting is deprecated. Use editor.codeActionsOnSave instead with a source”

提示:The setting is deprecated. Use editor.codeActionsOnSave instead with a source.fixAll.eslint member.意思是:此配置已作废,使用editor.codeActionsOnSave,里面配置source.fixAll.eslint 属性把"eslint.autoFixOnSave": true 改成:"editor.codeActionsOnSave": { "source.fixAll.es.

2021-04-27 11:40:14 13946 1

原创 vscode配制setting.json遇到“Auto Fix is enabled by default. Use the single string form.”报错

在vsCode 的setting.json中设置校验规则eslint 校验规则: "eslint.validate": [ "javascript", "javascriptreact", "vue" { "language": "vue", "autoFix": true } ],以上设置出现黄色波浪线,提示‘Auto Fix is enabled by default. Use the single string form.’,意

2021-04-27 11:22:45 299

原创 Js运算出现多位小数

js浮点数运算莫名出现多位小数例如:console.log(0.1+0.2)//0.30000000000000004console.log(0.1*0.2)//0.020000000000000004console.log(0.1*3)//0.30000000000000004console.log(1.2/3)//0.39999999999999997---能整除的除法原因:JavaScript中计算小数运算时,都会先将十进制的小数换算到对应的二进制,一部分小数并不能完整的换算为二进制,

2021-04-20 20:54:44 446

原创 qrcodejs生成二维码图片

vue 项目生成二维码图片:安装:npm i qrcodejs2引入和使用:html:<div id="qrcode"></div>Js:import QRCode from 'qrcodejs2' // 创建空的二维码对象let qrcode1 = new QRCode("qrcode", "")// 生成二维码qrcode1.makeCode("http://www.w3cschool.cc");// 直接调用:let qrcode2 = new QRC

2021-04-19 22:37:27 361

原创 vue 中 axios 跨域问题处理

vue 浏览器跨域问题报错Access to XMLHttpRequest at ‘http://app.toyshoney.com/api/orgshop/getIndustry?pageNo=1&pageSize=10&industry=1&orgId=9’ from origin ‘http://localhost:8081’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header i

2021-04-18 22:55:47 686

原创 vue配置:创建项目配置说明

Vue 工程创建环境依赖:安装node: https://nodejs.org/zh-cn/download/ 直接到官网下载安装安装淘宝镜像(安装依赖速度比较快):npm install -g cnpm --registry=http://registry.npm.taobao.org安装vue: npm install vue -g (使用频率高,直接全局安装)安装vue-cli: npm install -g @vue/cli (使用频率高,直接全局安装, vue -V查看cli版本)

2021-04-17 13:24:15 810

转载 vue create 和vue init webpack的区别

vue create 是vue-cli3.x的初始化方式vue init 是vue-cli2.x的初始化方式,可以使用github上面的一些模板来初始化项目,webpack是官方推荐的标准模板名。vue cli2升级到vue cli31.先升级npm的版本npm install -g npm2.再卸载之前的vue cli 2.9.6npm uninstall -g @vue/cli3.下载最新的vue cli版本npm install -g @vue/cli区别1.打包方式:cli2

2021-04-16 23:48:30 777

原创 vue配置:.editorConfig 编辑器配置说明

EditorConfig 是什么, 有什么用EditorConfig 是定义编码样式的配置文件,帮助多人合作项目或者不同编辑器下保持代码风格统一。EditorConfig 示例# http://editorconfig.org (Editorconfig 的官方网站)root = true# 匹配全部文件[*]# 设置字符集charset = utf-8# 缩进风格 可选"space"、"tab"indent_style = space# 缩进大小 可以是数字(空格数), tab(如

2021-04-16 23:19:39 915

原创 宏任务微任务执行顺序

JS事件循环基础:宏任务:setTimeout(() => { console.log("setTimeout新的宏任务");}, 0);new Promise(resolve => { resolve(); console.log("promise主线程任务");}).then(value => console.log("resolve微任务"));console.log("主线程任务");执行顺序:Promise里面的任务 console.log("pr

2021-04-10 16:47:09 207

原创 学习一个新知识点的步骤和方法

项目开发是遇到某个要解决的问题,使用已知的方法可以解决,但不够好。这时就可以考虑选择使用新方法,更好地去解决这个问题。开始学习一个新的知识点:一(从原理、语法开始):学习原理基本语法二(从使用开始 --> 纵深入学习):原理一般笔记枯燥复杂,可以把它放到最后一步,先学基本语法再选择一个可以快速入门的案例,最后学习原理3. 学会使用:一个足够简单的案例,了解新知识点的基本使用方法,先对这个知识有个大概的认识,不需要了解技术的细节和原理。4. 学会基本使用之后,学习细节,不同场景的

2021-04-06 20:42:45 809

转载 深拷贝和浅拷贝的区别

在讲深拷贝和浅拷贝之前要先了解一下不同数据类型的存储方式数据的存储方式数据分为基本数据类型(String, Number, Boolean, Null, Undefined,Symbol)和引用数据类型(Object, Array)基本数据类型存储:数据直接存储在栈中引用数据类型的存储:真实的数据存放在堆内存里,在栈中存储的是对象的指针浅拷贝与深拷贝浅拷贝与深拷贝是针对引用类型值的拷贝浅拷贝:仅仅复制对象的引用,而不是对象本身,新旧对象还是共享同一块内存,深拷贝:将对象完整地拷贝出来,开辟新

2021-03-27 10:39:26 295

原创 JS常用数组方法整理

数组是什么使用单独的变量名来存储一系列的值跟对象区别:数组是以数字为索引,是一种特别的对象,typeof返回Object对象是属性名为索引创建数组4种方法//构造函数let arr = new Array(1,2,3,4,5) // 创建新数组为 [1,2,3,4,5]// 字面量let arr = ["a","b","c"......'n']let arr = [] arr.length = 4 //创建一个长度为4的数组, 元素值为undefined// Array.ofA

2021-03-26 22:10:59 146

原创 JS计算脚本执行时间

方法一:const start = Date.now()for(let i = 0; i < 200000; i++) {}const end = Date.now()console.log((end-start)/1000 + '秒')方法二:console.time("timer名字")// 其他脚本for(let i = 0; i < 200000; i++) {}console.timeEnd("timer名字")输出:timer名字:毫秒数...

2021-03-18 00:01:23 726

原创 日期对象与时间戳转换, 日期格式化封装

日期对象转时间戳6种方式let date = new Date()date.getTime() // 精确到毫秒date.valueOf() // 精确到毫秒date*1 // 精确到毫秒 运算符把对象转为数字Number(date) // 精确到毫秒 直接类型转换Date.parse(date) // 精确到秒Date.now() // 获取当前时间的时间戳获取标准时间4传参方式const date1 = new Date('1990-12-01 13:10:30')const

2021-03-17 23:53:33 424

原创 JS获取任意范围内随机数

Math.random() [0-1)之间的随机数取 [n, m) 范围的随机数:Math.Floor(Math.Random()*(m - n)) + n取 [min, max] 、 (min, max)、 (min, max] 够可以转换为 [n, m) 这种个格式再计算:[min, max] =》 [min, max+1)(min, max) =》 [min+1, max)(min, max] =》 [min+1, max+1)...

2021-03-17 21:12:50 392

转载 Vue 深度选择器/deep/报警告:/deep/ combinator is no longer supported in CSS dynamic profile.

vue开发中控制台警告:/deep/ combinator is no longer supported in CSS dynamic profile.应该是/deep/ 在将来会被移除解决方案:<style scoped lang='less>.a >>> .b { }</style>有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 或 ::v-deep 操作符取而代之——两者都是 &gt

2021-03-17 20:03:59 1002

原创 innerHTML与innerText区别

功能介绍:innerHTML: 设置或获取元素内的所有子节点(包括标签、注释和文本节点)outerHTML: 设置或获取元素及所有子节点(包括标签、注释和文本节点)innerText:获取元素的文本,会过滤掉所以标签,将文档树中的所有文本拼接起来设置时会把元素所以子节点都删除再重写利用这一点,可以通过 innerText 属性过滤掉 HTML 标签div.innerText = div.innerText;outerText 读取时与 innerText 完全一样,写入时会替换整个元

2021-03-17 11:53:13 1335

原创 Js 数据类型的判断(typeof、instanceof、constructor、 Object.prototype.toString.call)

JS的数据类型js数据类型:基本据类型和引用数据类型。基本数据类型有:String、Number、boolean、null、undefined引用数据类型有:object(里面包含的 function、Array、Date)JS数据类型判断方式typeof 输出分别是什么console.log(typeof 2); // numberconsole.log(typeof NAN); // number NAN 是Number 中的特

2021-03-16 20:35:09 132

原创 if else 和 switch 的区别和选择

if else 和 switch 的选择switch 一般用于单一条件的判断if 一般用于连续区间值判断,复杂的多条件判断,或者动态表达式判断if 和 switch 都可以设计多重分支结构,一般情况下 switch 执行效率要高于 if 语句,代码可读性也高,如果能够使用switch结构,就不要选择if结构。无论是使用if还是使用switch结构,应该确保下面3个目标的基本实现:准确表现事物内在的、固有的逻辑关系。不能为了结构而破坏事物的逻辑关系。优化逻辑的执行效率。执行效率是程序设计的重要目

2021-03-16 19:34:07 1452

原创 JS数组迭代( forEach、map、reduce、 filter、some、 every、find)

1. forEach(循环)forEach 循环在所有元素调用完毕之前是不能停止的,它没有 break 语句可用 try catch 语句,就是在要强制退出的时候,抛出一个 error 给 catch 捕捉到,然后在 catch 里面 return,这样就能中止循环了forEach 循环可以修改原来的数组let arr = [1,2,3];arr.forEach(function(val,index){ console.log(val,index)})// 1 0// 2 1// 3

2021-03-16 16:44:10 269

原创 常用正则表达式整理

简单校验手机号/^1\d{10}$/.test(mobile) // 简单校验手机号 以1开头11位数字/^((13[0-9])|(15[^4])|(18[0-9])|(17[0-8])|(147)|(166)|(198)|(199))\d{8}$/.test(mobile) //严格校验手机号简单校验生份证/^([1-9]\d{5}[12]\d{3}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[0-9xX])$/.test(idCard)第一位

2021-03-16 09:46:13 182

原创 JS中的循环 for、while、do-while、for in 、 for of

循环结构的执行步骤声明循环变量;判断循环条件;执行循环体;更新循环变量;然后循环执行2-4,直到条件不成立,跳出循环。1. for循环for(初始化①;条件②;自增③){ 循环体④}三个表达式:①声明循环变量;②判断循环条件;③更新循环变量三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||连接,第一三部分用逗号分割执行特点:先判断再执行执行顺序: 初始化① 》 判断② 》 执行循环体④ 》 自增③ , ②④③ ②④③… …直到②为假结束主要用

2021-03-15 18:19:55 206 1

原创 ++ i 和 i++区别

++n 先自增再运算n++ 先运算再自增var a, i = 10;a = i ++; //这里i要先赋值,再自加。语句执行后a=10, i = 11;a = ++i; //这里i要先自加,再赋值。语句执行后a=11, i = 11;let i = 9;while( i ++ < 10){console.log(i)}; // 9 ;先执行逻辑逻辑运算,再自增 i = 9 》 i< 10 》i++ 》i =10while(++ i < 10){console.lo

2021-03-13 23:06:58 7718 2

原创 var let const 声明变量区别

var let 声明变量异同-varlet变量提升创建和初始化都被提升, 可以重复声明创建过程被提升,初始化没有提升, 不能重复声明预解析与执行过程预解析时创建 ,初始化为undefined,执行时赋值为声明的值预解析时创建,执行是初始化为声明的值声明之前使用undefined块级顶部形成临时行死区, 声明前使用会报错作用域函数作用域块级作用域全局变量挂载位置声明的全局变量挂在window下声明的全局变量挂载在块级作用域script下面

2021-03-13 22:25:45 111

原创 nvm基本用法

nvm,node,npm之间的区别。nvm:nodejs 版本管理工具。也就是说:一个 nvm 可以管理很多 node 版本和 npm 版本。nodejs:在项目开发时的所需要的代码库npm:nodejs 包管理工具。在安装的 nodejs 的时候,npm 也会跟着一起安装,它是包管理工具。npm 管理 nodejs 中的第三方插件nvm、nodejs、npm的关系:nvm 管理 nodejs 和 npm 的版本。npm 可以管理 nodejs 的第三方插件。nvm 常用命令nvm ls

2021-03-12 20:42:21 449

转载 nvm安装成功,但命令不可用(command not found: nvm)

Nvm安装成功后,使用nvm命令却提示command not found,mac终端解决办法如下:1、进入nvm安装到文件目录 cd ~/.nvm2、查看目录下文件列表 ls 3、若无.bash_profile文件,则创建该文件:创建文件步骤:3.1 touch .bash_profile3.2 open .bash_profile3.3 将下部分文件粘贴至 .bash_profile文件 (路径名改为自己电脑路径名)export NVM_DIR="/Users/jennymo/.n

2021-03-12 19:36:03 16520 3

原创 微信开发者工具添加代码高亮插件

微信开发者工具添加插件步骤:获取插件文件在vsCode并安装你需要移植的插件找到vsCode相关插件的安装文件夹:操作系统 安装路径windows %USERPROFILE%.vscode\extensionsmacOS ~/.vscode/extensionsLinux ~/.vscode/extensions复制要用的插件文件夹到微信开发者工具的「打开编辑器扩展目录」微信开发者工具编辑器扩展目录入口![打开编辑器扩展目录,把复制的插件文件粘贴过来添加插件配置文件进入微信开发

2020-08-02 15:10:56 4264

原创 Unity 灯光设置 —— 灯光属性

Unity 灯光属性Type:灯光类型,所有类型的灯光都其实共用一个组件,本质上是一样的。Color : 灯光颜色Mode : 灯光模型有Realtime,Baked,Mixed三种Reatime: 运行时为每帧一次执行光照计算,用于在角色或可移动几何体上照明和投射阴影,局限性:为实时灯光执行运行时计算可能会很昂贵,尤其是在复杂的场景或低端硬件中。由于默认情况下“实时灯光”仅...

2020-05-26 09:03:01 3021

转载 Unity笔记:查找资源被哪里引用

方法一:在project里选择一个资源右键,点Find References In Scene, 在Hierarchy里出现高亮的对象就引用了该资源。方法二:写脚本查找匹配结束后会把匹配到的资源Log出来。以下代码直接放到你的工程里就可以直接用。using UnityEngine;using System.Collections;using UnityEditor;using System.IO;using System.Linq;using System.Text;using Sys

2020-05-14 21:49:37 1625 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除