- 博客(80)
- 资源 (1)
- 收藏
- 关注
原创 安装nvm之后,使用nvm --version 提示 nvm is not found
按照官网给出的方式安装nvmcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash安装之后,在终端中输入命令:nvm --version显示 nvm 找不到。解决方式是:1 创建 .bash_profile filecd ~touch .bash_profileopen the file you just created2 打开open .bash_profile3.paste
2021-03-21 23:06:38
2688
1
原创 Mac系统下载git踩坑-homebrew安装失败以及git clone失败的问题
homebrew安装失败首先要下载 安装homebrew。踩坑一:官方文档给出的代码:/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"直接在终端中运行会报错,解决方法:配置hosts文件,目录在 /private/etc/hostshttps://www.ipaddress.com 在这个网站中查找 raw.githubusercontent.com 的IP地址
2021-03-19 10:18:16
1911
原创 js 中计算数组的维度
例如:计算:[1, [2, 3], [4, [5, true, 6], 7], '1a', 8, 9, [10, [11, [12, 13, null]]]] 的维度function arrs(arr) { let j = 1; for (let i in arr) { if (arr[i] instanceof Array) { if (1 + arrs(arr[i]) > j) { j = j + arrs(arr[i]) }
2021-03-02 21:13:33
1069
1
原创 多维数组求和问题
写一段JS代码,对给定的一个嵌套数组中的数字进行求和,例如:[1, [2, 3], [4, [5, true, 6], 7], '1a', 8, 9, [10, [11, [12, 13, null]]]],返回 91;var arr = [1, [2, 3], [4, [5, true, 6], 7], '1a', 8, 9, [10, [11, [12, 13, null]]]];function sumArr(arr) { var sum = 0 arr.forEach(item =&
2021-03-02 21:04:39
649
原创 js中的 hasOwnProperty 方法
Object 中有一个方法,hasOwnProperty(),返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。判断对象自身属性是否存在var obj = new Object();obj.name= 'zs';function changeObj() { obj.newName = obj.name; delete obj.name;}obj.hasOwnProperty('name'); // truechangeObj();obj.hasOwnProperty('
2021-01-07 15:57:39
5658
2
原创 父亲的散文诗
我的父亲不会写散文诗,他仅有的一个本子里记的也全都是寻常日子的点点滴滴,记着他一年出了多少工期。他的手上全是茧,他平凡至极,什么都给不了我,却又什么都给了我。从小对父亲没有很深的印象,那时候为了家庭,他常年在外面奔波。稍微记事一点了,好像是五年级,他去了哈尔滨一年,回来的时候,因为和母亲闹了别扭,在家不肯出门,没有第一时间去见他,后来听奶奶讲,父亲说,我对他不亲近。上了高中,距离家里也有两个小时的车程,那时候比较念家,总是每天吃完晚饭,去电话亭和母亲通电话,有的时候能聊到上自习的铃声响了才发觉。但是我从
2021-01-06 17:29:24
291
原创 前端跨域解决方案
一、什么是跨域在前端领域中,跨域是指浏览器允许向服务器发送跨域请求,从而克服Ajax 只能使用同源的限制。跨域本质是浏览器基于同源策略的一种安全手段。什么是同源策略同源策略(Sameoriginpolicy),是一种约定,它是浏览器最核心也最基本的安全功能。所谓同源(即指在同一个域)具有以下三个相同点:协议相同(protocol)主机相同(host)端口相同(port)同源策略限制以下几种行为:Cookie、LocalStorage 和 IndexDB 无法读取DOM和JS对象无
2021-01-05 15:07:03
107
原创 我喜欢你是寂静的
之前读情诗,总觉得赤裸裸,肉麻兮兮的。非得要在欢天喜地的热恋,亦或是小心翼翼的暗恋,才能领会其中的浓情蜜意。一次偶然读到聂鲁达的情诗,我喜欢你是寂静的,一段读下来,竟不觉得心有猫挠,心里只有淡淡的瓶颈。有意思我干杯你随意的豪情,留的残荷听雨声的闲适。仿佛,喜欢是我自己的事情,与你,与他人无关。他们说,念念不忘,必有回响,其实我对这回响并不执著。如若我心换你心,固然可喜,若是没有,也没什么可后悔的,即使我如何念念,又如何希望,都不能强求。年龄越大,越知道能在最好的时候遇到一个喜欢的人,是一种怎样运气。是
2021-01-04 15:58:14
1023
7
原创 关于友谊
我把我的好朋友弄丢了。自从大学毕业,也就见过一面,此后便一直没有机会再见了。之前无话不说,形影不离,现在已经好几年一句问候都没有了。曾梦到过很多次大学的情景,有严厉的老师,搞怪的男同学,还有仅仅只是认识但不熟知的人,但这些面孔里面都没有她,醒来还是会伤感很久。大学的时候,有她的地方就有我,有我的地方不远处一定有她。我的家人,我的父母,包括舅舅,还有很铁的高中同学,这些人都知道她,她的家人,或许,或许也是知道我的吧。怎么丢的呢?我也不懂。或许是开始上班之后,她经常加班,每次找她的时候,都没有消息吧。或
2021-01-04 15:19:28
103
原创 对于 MVVM 的理解
对于 MVVM 的理解MVVM 表示的是 Model-View-ViewModelModel:模型层,负责处理业务逻辑以及和服务器进行交互。View:视图层,负责将数据模型转化为 UI 显示出来,可以简单的理解为 HTML 页面。ViewModel:试图模型层,用来连接 Model 和 View ,是 Model 和 View 之间的桥梁。每当V层获取或者保存数据的时候,都要由VM层做中间的处理,从而交给M层。前端页面使用 MVVM 的思想,主要是为了使前端开发更加方便。因为 MVVM 提供了
2020-12-31 15:22:04
4521
1
原创 Vue 中组件和插件有什么区别?
我们在 vue 开发的时候,经常会用到组件和插件,name组件和插件有什么区别呢?现在就来总结一下。一、组件是什么?官方对组件的定义是:组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式,在Vue中每一个.vue文件都可以视为一个组件。组件的优势降低整个系统的耦合度,在保持接口不变的情况下,我们可以替换不同的组件快速完成需求,例如输入框,可以替换为日历、时间、范围等组件作具体的实现。调试方便,由于整个系统是通过组件组合起来的,在出现问题的时候,可以用排除法
2020-12-29 15:59:34
2070
原创 Vue中的 $nextTick 怎么理解?
在上一篇vue中 beforeRouteLeave 生命周期函数中我们使用了$nextTick,那么什么是 $nextTick?一、NextTick 是什么?官方对其定义是:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。我们可以理解成,Vue 在更新 DOM 时是异步执行的,当数据发生变化的时候, vue 将开启一个异步更新队列,试图需要等队列中所有数据变化完成之后,再统一进行更新。举例说明一下:HTML 结构<div id="a
2020-12-29 14:55:44
703
原创 vue中 beforeRouteLeave 生命周期函数
beforeRouteLeave需求描述在使用 element-UI的table 的时候,有这么一个需求。从一个页面切换到另一个页面,再切回来的时候,滚动条的位置不变。需求:滚动浏览列表页,出现滚动条,点击用户名之后,跳转到商铺管理(发生路由跳转)。从商铺列表返回到信息列表之后,列表页还是之前所浏览的位置,而不是到列表页的顶部。解决方案:使用 beforeRouteLeave 来记录路由跳转之前滚动条的位置使用keepAlive来缓存信息列表状态,路由切换到信息列表的时候回触发 activat
2020-12-29 14:32:10
55854
6
原创 vue 中为什么不建议 v-if 和 v-for 一起使用
在实际开发中,会遇到这样的情况,需要先判断是否满足条件,然后再循环渲染列表,此时就涉及到了 v-if 和 v-for 一起使用的问题。相信你们也遇到过,当将两者同时都写在一个标签里面的时候,就会出现红线警告,原因是什么呢?怎么去解决呢?下面本文就这个问题进行解释。一、作用v-if 指令用于在满足条件下的渲染内容。这块内容只会在表达式为true 的时候才会被渲染。v-for 指令是用一个数组来渲染列表。v-for 指令需要使用 item in list 形式的特殊语法,其中 item 是迭代的每一项的元
2020-12-29 11:17:16
1161
1
原创 vue 中的 keep-alive
一、什么是 Keep-alivekeep-alive 是 vue 中的内置组件,能够在组件切换过程中将状态保留在内存中,防止重复的渲染 DOM;keep-alive 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们;keep-alive 可以设置一下 props 属性:include - 字符串或者是正则表达式。只有名称匹配的组件才能被缓存exclude - 字符串或者是正则表达式。max - 数字。最多可以缓存多少组件实例。关于 keep-alive 的基本用法<keep-
2020-12-28 17:04:36
5515
原创 vue 项目中对 axios的封装
一、axios 是什么axios 是一个轻量的 HTTP 客户端。基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富的配置,支持 Promise,支持浏览器端和 Node.js 端。自Vue2.0起,尤大宣布取消对 vue-resource 的官方推荐,转而推荐 axios。现在 axios 已经成为大部分 Vue 开发者的首选特性:从浏览器中创建 XMLHttpRequests从 node.js 创建 http请求支持 Promise API拦截请求和响应转换请求数
2020-12-28 14:28:29
256
1
原创 vscode+vetur0.31.0,无法格式化.vue文件
https://blog.youkuaiyun.com/jsjcmq/article/details/110926639https://blog.youkuaiyun.com/centor/article/details/81172101
2020-12-25 15:26:33
526
1
原创 vue 中 scoped 的原理
之前写 vue 页面的时候,使用的是 快捷方式,打出 vue 之后使用 tab 键,就可以快捷的创建出 vue 页面的 template,script 和 style,之前一直有注意到 style 中有一个 scoped 的属性,但是一直不知道是干啥的。今天一个前辈给我讲了,所以记录下来,以供日后复习。
2020-12-25 14:53:02
471
原创 从输入 URL 到页面展示
主要是以下几个过程:1、输入地址2、浏览器查找域名的 IP 地址3、浏览器向 web 服务器发送一个 HTTP 请求4、服务器处理请求5、服务器返回一个 HTTP 响应6、服务器显示 HTML7、浏览器发送请求获取嵌入在 HTML 中的资源(包括图片、音频、视频、css、js等)本文的目的是通过输入URL之后发生的事情来解释一下 TCP 三次握手和 四次挥手。1、输入地址当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能匹配可能的 url 了,它会从历史记录,书签等地方找到已经输
2020-12-25 14:19:16
184
原创 vue v-for 中 :key 的作用
为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性。理想的 key 值是每项都有唯一 id。这个特殊的属性相当于 Vue 1.x 的 track-by ,但它的工作方式类似于一个属性,所以你需要用 v-bind 来绑定动态值(在这里使用简写):先来讲一个例子:现在假设你有三个子组件,每个子组件里面有一个「有状态的」孙子组件。点击第二个,将第二个删除,将会出现什么情况?页面中会显示 序号为0 和3 吗?不会,会出现下面的结果:
2020-12-25 10:25:33
3650
2
原创 vue 是什么?webpack 是什么?
vue 是什么?vue 是一套用于构建用户界面的渐进式框架。框架和库之间的区别库和框架的区别1、库:也就是我们说的插件,是一种封装性很好的特定方法的集合,对项目的侵入性很小,提供给开发者使用,控制权在使用者手上,如果某个库无法完成某些需求,可以很容易的切换到其他的库实现需求。2、框架:是一套架构,会基于自身特点向用户提供一套相当完整的解决方案,而且控制权在框架本身。对项目的入侵性较大,使用者要按照框架规定的某种特定规范进行开发,项目如果需要更换框架,则需要重新架构整个项目。目前的框架有哪些?库有
2020-12-24 16:56:17
598
1
原创 setTimeout 和 Event Loop
我记得有一次面试的时候,面试官问道,setTimeout 的用法,现在就来总结一下。setTimeout 的基本用法setTimeout(fn,delay)一般情况下,setTimeout函数接收两个参数,第一个参数fn是将要推迟执行的函数名或者是一段代码,第二个参数 delay 是推迟执行的毫秒数。例如:setTimeout('console.log(1)',1000);setTimeout(function(){console.log(2)},1000);如果直接在 setTimeou
2020-12-24 16:17:23
254
原创 js创建对象:工厂模式和自定义构造函数的区别和联系
工厂模式function createObject(name,age){ var obj = new Object(); obj.name = name; obj.age = age; obj.sayHi = function(){ console.log("您好,我是工厂模式"); } return obj;}自定义构造函数function Person(name,age){ this.name = name; this.age = age; this.sayHi = fu
2020-12-23 16:46:14
218
原创 HTTP -- 端口和 URL,以及获取 URL 参数值
端口:计算机本身就是一个封闭的环境,就像是一栋大楼,如果需要数据通信往来,必须有门,这个门在术语中就叫做端口。每一个端口都有一个端口号,每台计算机只有65536个端口(0 - 65535)。可以通过命令行中运行:netstat -an 命令来监视本机端口使用情况:URL:例如:https://zce.me:80/schools/students?id=18&name=zce#photohttps:协议zce.me:80 host主机80 端口/schools/students 请
2020-12-22 11:14:16
496
原创 Http -- http状态码
HTTP 响应是由三个部分构成的,分别是:状态行响应头(Response Header)响应正文HTTP/1.1 200 OKDate: Sat, 31 Dec 2005 23:59:59 GMTContent-Type: text/html;charset=ISO-8859-1Content-Length: 122状态行:是由协议版本、数字形式的状态代码及响应的状态描述,各元素之间以空格分隔。格式:HTTP-Version Status-Code Reason-Phrase CRL
2020-12-21 16:43:09
471
原创 每日面试题
Q:怎么判断一个字符串是不是回文字符串?A:function isPlalindrome(str){ if(typeof str!== 'string') return false; return str.split('').reverse().join('') === str;}var str = "123454321";if(isPlalindrome(str)){ console.log(str,"是回文字符串");}else{ console.log(str,"不是回文字符串
2020-12-08 15:47:13
95
原创 img 中的 alt 与 title 属性的区别
css 的标签 img 有很多属性,其中包括 alt 和 title。两者之前的相同点在于:它们都会出现在浮层,显示自己设置图片相关的内容。两者的不同点:alt 属性:当图片加载不出来的时候,就会在图片未显示的地方出现一段 alt 设置的属性内容。【这个属性的作用是为了给未加载的图片显示提示信息,即使在网络比较差的时候,用户也可以知道图片的内容,从而方便用于浏览网页,同时程序员对网站维护的时候也能更快地查找问题。】浏览器的搜索引擎可以通过 alt 属性的文字描述来获取图片。title
2020-12-02 14:17:44
3799
1
原创 vuex 中的 dispatch 和 commit 的使用
简而言之dispatch 异步操作 this.$store.dispatch(‘actions的方法’,arg); 调用 actions 里面的方法。commit 同步操作 this.$store.commit(‘mutations的方法’,arg);调用 mutations 里面的方法。use.jsimport { login, logout, getInfo } from '@/api/user'import { getToken, setToken, removeToken } from
2020-12-02 11:36:36
2426
2
原创 每日一道面试题 --- css 部分
第一题行内(inline)元素 设置margin-top和margin-bottom 是否起作用?答案:对于行内非替换元素,比如 span, margin-top 和 margin-bottom 是不起作用的,但是 margin-left , margin-right 是起作用的。对于行内替换元素,比如 img 和 input ,外边距上下左右都会起作用。解析:html 里的元素分为替换元素(replaced element)和非替换元素(non-replaced element)。替换
2020-11-24 14:54:53
145
原创 每日一道面试题 -- css居中的方式
Q:css 中居中的方式有哪几种?A:主要有以下几种:1. 水平居中1.1 内联元素水平居中利用text-align:center 来实现块级元素内部的内联元素水平居中。此方法对内联元素(inline),inline-block,inline-table 都有作用p{ width:200px; height:200px; border:2px dashed #f69c55; text-align:center; // p 标签下面的元素水平居中}<p>
2020-11-09 17:53:00
222
原创 使用 json-server 搭建本地数据接口
全局安装 json-servernpm i -g json-server检查json-server 是否安装成功json-server -h新建 json 文件新建一个 data.json的文件{ "items": [ { "id": 1, "name": "周瑜" }, { "id": 2, "name": "黄盖" }, { "id": 3, "name": "黄忠"
2020-11-09 10:48:14
129
原创 vue-scroll的使用以及不滚动的问题
vue-scroll 的使用引入npm install vue-scroll --save-devmain.jsimport Vue from 'vue';import vuescroll from 'vuescroll';import vuescroll from 'vuescroll/dist/vuescroll.css';用法把需要滚动的内容用 vuecscroll 包裹起来即可<div class="detail-page"> <vue-scroll
2020-11-03 16:50:37
1692
原创 每天一道面试题 --- js事件代理和冒泡
Q:解释一下事件代理。A:当我们需要对很多事件添加事件的时候,可以通过将事件添加到他们的父节点而将事件委托给父节点来触发处理函数,这主要得益于浏览器的事件冒泡机制。 var delegate = function(client, clientMethod) { return function() { return clientMethod.apply(client, arguments); } } var agentMethod = delegat
2020-11-02 18:13:24
301
原创 每日一道面试题 --- js 中的 length 属性
length 属性可设置或返回数组中元素的数目。第一题var arr = [];arr[0] = 'a';arr[1] = 'b';arr.foo = 'c';arr.name = "zs"alert(arr.length); // arr = ["a", "b", foo: "c", name: "zs"]123undefined答案:2解析:数组的原型是 Object,所以可以像其他类型一样增加属性,但是不影响其固有性质。arr.foo 和 arr.name 不算在
2020-10-28 10:30:44
307
原创 将字符串中的一个或者多个英文逗号、中文逗号、顿号、空格都替换为一个英文逗号,然后将替换后的字符串再转为数组
字符串中一个或者多个中文逗号、顿号,空格、英文逗号替换为一个英文逗号,然后将替换后的字符串转为数组// 原始的字符串包含很多符号var_remark = "1111,,,,2、、、3,,,,,, "// 这一步是将其他的符号转换为一个英文逗号逗号,。var _remark1 =_remark.replace(/[\r\n]/g,",").replace(/\s+/ig,",").replace(/,+/,",").replace(/、+/g,",").replace(/,+/g,",").s
2020-10-27 18:00:05
1987
原创 每日一道面试题 --- js 中的 arguments
arguments 对象定义一个函数,如果不确定用户是否传入了参数,或者不知道用户传入的参数有几个,无法进行计算。但如果已知参数的个数和值,就可以使用 arguments 来进行继续按。arguments 对象,获取函数调用时传入了几个参数。取得是实参。第一题function foo(a) { alert(arguments.length);}foo(1, 2, 3);123undefined答案: 3解析:arguments 取的是实参的个数,而foo.length取
2020-10-27 17:42:20
470
原创 每天一道面试题--- js 中 this 指针的用法
普通this指针指向问问题:1.预编译过程中的this–>window2.全局作用域中的this–>window3.一般情况下的this–>调用者(谁调用指向谁);4.call/apply,改变this指向,指向第一个参数5.object.function(){} this–>object;6.普通函数中的this,是window;7.对象.方法中的this是当前对象;8.定时器的this是window;9.构造函数中的this是
2020-10-27 13:50:09
252
自学CSS的学习总结
2020-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人