- 博客(22)
- 收藏
- 关注
原创 linux常用的几个命令
工作中常用到的linux命令如下:cd 文件夹名 :进入指定文件夹cd ../ :返回上一级目录(文件夹)ls -l :查看当前目录下面的文件及文件日期rz :打开面板选择需要上传的文件unzip dist.zip :解压压缩包mv 文件名 ../ :把文件移动到上一个目录 mv -f 文件名 :如果目标文件已存在,不会询问强制覆盖 mv -i 文件名 :如果目标文件已存在,会询问是否覆盖 mv -u 文件...
2021-07-26 13:40:15 121
原创 聊聊mac系统的 secoclient和iTerm2
secoclient是啥,就是华为出品的VPN网络设置工具。可以连接其他公司的服务器。下载地址:https://secoclient.updatestar.com/(网上百度secoclient下载,有很多,安装就是next,next就行,就不聊怎么安装了)。安装以后,新建个连接,出现下面这个弹框。连接名称:自己写个明白的就行,远程网关地址:一般由甲方公司提供,我是做前端的,这个地址是后台发的。然后保存,提示连接上就行。iTerm2:下载连接 https://iterm2.com/安装直接解压压
2021-07-06 17:39:38 5228 2
原创 axios和jquery ajax的不同
axios提交数据是以Payload形式提交数据请求头:Content-Type:“application/json”axios是一个专门的异步请求框架,用于封装底层的XMLHttpRequest。axios返回值为promise对象。axios().then() , axios.all()axios().then(response=>{ // response是axios二次封装的返回对象 response:{ status data ... }})有时候我们会同
2021-06-03 14:06:54 271 4
原创 VueRouter 实现原理
let _vue = nullexport default class VueRouter{ static install(Vue){ // 1.判断当前插件是否已安装 if(VueRouter.install.installed){ return } VueRouter.install.installed = true // 2.把Vue构造函数记录到全局变量 _vue =
2021-01-31 11:31:47 87
原创 Vue-router 中hash模式和history模式的区别
一、hash模式地址栏 URL 中的 # 符号。比如这个 URL:http://www.ittest.com/#/hello,hash 的值为 #/hello。它的特点在于:hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对后端完全没有影响,因此改变 hash 不会重新加载页面。二、history模式利用了 html5 History Interface 中新增的 pushState() 和 replaceState() 方法。(需要特定浏览器支持)这两个方法应用于浏览器的历史记录
2021-01-31 11:30:01 506
原创 echarts地图随意绘制点
获取echarts各国各省JSON数据:http://datav.aliyun.com/tools/atlas/#&lat=30.343372698262712&lng=106.720060693723&zoom=3.5部分核心代码:import hzjson from './hangzhou.json'// 1.获取绘制地图的div容器 let myChart = echarts.init(document.getElementById('hangzhou')) //
2020-12-23 14:41:53 2078 3
原创 js根据数组中对象的某个属性值重新排序
function compare(propertyName) { return function( object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; if (value2 < value1) { return 1; } ..
2020-12-23 11:58:13 958
原创 js根据对象的属性值重新排序
function objsort(obj){ var keyArr = [],valArr = []; for (var key in obj) { keyArr.push(key); valArr.push(obj[key]); } for (var i = 0, len = valArr.length; i < len; i++) { for (var j = 0; j < len - i; j+
2020-12-23 11:38:46 681
原创 工作中常用到的git命令
1、创建一个项目,将其初始化为git代码库git init [项目名]2、下载/克隆项目git clone [项目的url地址]3、代码提交:(1) git add . (添加到暂存区)(2) git commit -m ‘提交内容’(3) git fetch origin dev (把远程仓库中origin最新代码取回)(4) git merge origin/dev (把本地代码和已取得的远程仓库最新代码合并)(3) git push origin [远端(例如: master)]
2020-12-17 14:53:45 83
转载 解决safari浏览器中transform的z-index渲染失效的方法
前段时间做阴影遮罩层,在safari中z-index失效,刚开始还以为是自己css样式写的不规范导致的,整改了后,发现在safari浏览器中还是不行。。。我方了。。。有问题找度娘,一痛百度后,有个大神的博客拯救了我,做知识的搬运工,分享给大家。一、Safari 3D变换会忽略z-index的层级Safari浏览器包括iOS的Safari,iPhone上的微信浏览器,以及Mac OS X系统的Safari浏览器,当我们使用3D transform变换的时候,如果祖先元素没有overflow:hidden
2020-12-17 12:10:27 911
原创 基于流的自动化构建-Gulp
参考:中文官网:https://www.gulpjs.com.cn/英文官网:http://gulpjs.com/一、gulp常用命令初始化项目文件yarn init安装gulpyarn add gulp --dev 安装gulp-sass 编译sass相关文件yarn add gulp-sass --dev//使用const style = () =>{ return src('src/assets/styles/*.scss',{base:'src'})
2020-12-10 16:16:58 154
原创 TypeScript 语言类型
TypeScript是由微软开发的一个能在Node.js上运行的开源编程语言。在ES6的基础上演化并吸收JavaScript类别和接口的一些特性。适合开发大型应用,可以编译成纯JavaScript,可在任何浏览器上运行。更多使用方法前往:https://www.tslang.cn/docs/handbook/basic-types.html先了解几个名词:动态语言:在运行期间才去做类型检查的语言。该语言会在第一次赋值给变量时,在内部将数据类型记录下来。静态语言:静态语言和动态语言相反,它的数据类型
2020-11-19 17:17:04 338
原创 ES6中的Map和Set数据结构
在ES6之前,js仅提供了对数组的支持。ES6 中引入了4种新的数据结构,分别是Set(集合),Map(映射),WeakSet(弱集合),WeakMap(弱映射)。一、Set(1)概述:Set对象是值得集合,可以按照插入的顺序迭代它的顺序。Set中的元素只会出现一次,元素是唯一的。用法:new Set([ iter ]);参数iter是一个可迭代的对象,它的所有元素将被添加到新的Set中在 Set 中,NaN 和 undefined 是可以被存储在 Set 中的,因为 NaN 在ES6中是严格相等
2020-11-14 17:55:08 226
原创 ES6中的Symbol数据类型
Symbol:在ES5中,对象属性名都是字符串容易造成属性名冲突。为了避免这种情况的发生,ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。symbol 是js在ES6 中一种基本数据类型。Symbol() 函数返回的是 Symbol 类型的值,该类型具有静态方法和静态属性。1.用法:Symbol([desc])[desc]是一个可选参数,字符串,可用于调试,但是不能访问Symbol自身2.每一个 Symbol() 返回的值都是唯一的。console.log(Symbol('foo
2020-11-14 11:35:08 215 1
原创 聊聊ES6的Proxy和Reflect
一、Proxyproxy即为“代理”。(中间商,不赚差价的那种,哈哈哈…)proxy为对象设置访问代理期的,使用方便,功能强大语法:let p = new Proxy(target,handler)target:目标对象handler:拦截过滤代理的函数const person = { name:'wyy', age:'20'}const personProxy = new Proxy(person,{ deleteProperty(target,property){
2020-11-13 21:45:31 132
原创 class类,static静态方法,extendes继承
// class 关键词class Person{ constructor(name){ //当前类型的构造函数 this.name = name } static classMT(){ return '静态方法' } say(){ console.log(`hi ${this.name}`) }}// static 静态方法console.log(Person.classMT()) //
2020-11-09 12:21:31 190
原创 ES6对象、数组的解构,提高开发效率
解构是ES6新增的,可以提高我们日常编码开发的效率。解构可以用于数据和对象这里写目录标题一、对象解构(1)解构用于声明变量(2)给解构的变量赋值默认值(3)解构对象属性值赋值给不同名的变量(4)多层对象的解构一、对象解构(1)解构用于声明变量var / let / const 后面跟着{ },{ }包裹的变量值要和对象的属性值相同。这样就会取对象的属性值赋值给{ } 包裹的变量 let obj = { name:'summer', age:'20' } let {name,age}
2020-11-03 11:16:48 328
原创 了解作用域; var,let,const的区别
ECMAScript是一个国际通过的标准化脚本语言。通俗理解:ECMAScript是JavaScript的语言规范,JavaScript语言本身就是ECMAScript一、作用域ES5中有:全局作用域、函数作用域,ES6又新增了块级作用域 { }。块级作用域由{ }包括,if语句和for语句里的{ }也属于块级作用域(1)//块级作用域,通过var定义的变量可以跨块作用域访问到。 { var a = 1; console.log(a); // 1 } console.log
2020-11-02 14:43:24 822 1
原创 JavaScript异步编程(回调函数,Promise)
同步执行:同步执行不是代码同步执行,而是代码依次执行,后一个任务必须等前一个任务执行完后再执行。执行方式就是代码写的顺序。 console.log("打印console") function f1(){ console.log("f1函数") } function f2(){ console.log("f2函数") f1() } f2() f1() //输出结果:打印console,f2函数,f1函数,f1函数异步执行:不会等待当前任务执行结束后才会执行下一
2020-10-29 16:13:16 808
原创 函数式编程范式 ( 高阶函数,闭包,纯函数,函数的组合 )
文章说明:文章只是个人学习记录,以便于以后回看。一:函数式编程(1) 什么是函数式编程函数式编程中的函数指的不是程序中的函数(方法),而是数学中的函数即映射关系。纯函数:相同的输入始终得到相同的输出。函数式编程:用来描述数据(函数)之间的映射我们常用的编程范式有:面向过程,面向对象,函数式编程:例子:(1) 面向过程: let num1=1; let num2=2; let sum=num1+num2(2) 面向对象: class obj{ fun
2020-10-28 17:45:02 227
原创 算法打印搞清楚 -> 微任务,宏任务
执行顺序:同步队列——>微任务——>宏任务同步队列执行完了才会去检查微任务和宏任务,微任务执行完然后在看宏任务的队列,将其放入执行队列微任务:Promise.then()宏任务:setTimeout,setIntervalPromise,reject();是执行catch里的内容resolve()是执行then里的内容console.log("AAAA")setTimeout(()=>console.log("BBBB"),1000)const start = new
2020-10-23 20:05:33 146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人