- 博客(91)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注

原创 前端知识点2
1. BFC相关知识点bfc内,盒子垂直排列;同一个bfc的两个元素的margin会发生垂直合并,使用bfc可保证margin都生效,因为bfc是页面上的一个独立容器,容器子元素不影响外面的元素计算bfc高度,浮动元素也算在内bfc的区域不会与float box重叠,所以一个兄弟元素为float时,防止两者重叠,可把一个元素设置bfc创建bfc根元素浮动元素,float不为noneposition为absolute或fixedoverflow不为visible的元素display为i
2020-05-29 18:32:37
264
原创 mysql:ERROR 1045 (28000): Access denied for user @‘localhost‘
1. 停止mysql服务sudo /usr/local/mysql/support-files/mysql.server stop2. 用安全模式进入mysqlsudo mysqld_safe --skip-grant-tables3. 重开一个terminal窗口,在新窗口中执行命令,保持原有窗口打开状态mysql -u root4. 修改密码update mysql.user set authentication_string=password('root') whe
2021-10-21 18:44:47
218
原创 brew install tree踩坑经历
在用brew安装tree命令的时候报一下错误解决措施:rm -rf /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core;brew updatebrewinstall tree然后install:
2021-10-16 14:11:49
588
原创 前端知识总结
1. async 和 defer的相同点和区别defer 延迟加载async 异步加载defer和async在“下载”这块是一样的,都是异步不会阻塞html的解析区别在于何时执行,async不管声明顺序如何,加载完了后会立刻执行defer将在页面完成解析时(domcontentloaded)执行,同时是按照加载顺序执行的w3school的说法:如果 async=“async”:脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)如果不使用 async 且 defer=“
2020-05-29 19:56:29
405
原创 babel相关知识
babel官网 https://babeljs.io/docs/en/将高版本语法转为低版本需要babel-loader其中 babel-core 是核心库@babel/cli 是babel提供的命令行工具,可以通过babel命令对js文件进行编译,babel官网建议在项目中安装 而不是全局安装,依赖babel-core@babel/node 跟node cli类似,不适用在产品中,适合全局安装@babel/preset-env主要是将高版本语法转为低版本@babel/polyfill将不同浏览
2020-05-29 18:31:38
255
原创 npm命令操作
1. 查看npm源npm config list 或者 npm config get registry2. 查看所有源nrm ls3. npm添加源并起一个别名 如barnrm add bar http://registry.npm.bar.cn4. 使用源npm use bar5. 测试源的速度 如测试taobaonrm test taobao6. 删除源 如barnrm del bar7. 查看npm全局安装包npm list -g --depth 08. npm link
2020-05-29 18:30:24
416
原创 mac相关操作
1.macfinder右键新增文件下载并安装NewFileMenuMac2.如何打开安装程序的文件夹找到应用程序后右键查看包内容即可
2020-05-29 18:25:54
271
转载 git克隆或下载仓库中的某一个文件夹
1. git init test && cd test // 新建仓库并进入文件夹2. git config core.sparsecheckout true // 设置允许克隆子目录3.echo 'clonedFolder' >> .git/info/sparse-checkout //设置要克隆的仓库的子目录路径(clonedFolder为克隆目录)...
2020-04-05 20:57:38
1058
原创 vscode常用快捷键总结
括号为mac的快捷操作Alt+Z (⌥ + Z)——切换自动换行CTRL + G (^ + G )——转到行CTRL + K CTRL + F (⌘ + K ⌘ + F)——格式化所选部分CTRL + K CTRL + X (⌘ + K ⌘ + X)——裁剪尾随空格...
2020-03-28 15:39:19
250
原创 gitignore的使用
规则/xxx/ 过滤整个文件夹*.zip 过滤所有.zip文件/xxx/a.js 过滤具体文件如果不过滤 在最前面加 ! 即可创建gitignore文件windows新建gitignore.txt文件,重命名为gitignore,可使用ren gitignore.txt gitignore使用git工具,git bash后 使用vim .gitignore或tou...
2020-03-27 17:50:48
172
原创 children和childNodes的区别
children获取当前元素的子节点元素(不包含文本元素)childNodes获取当前元素的子节点元素(包含文本元素)有的时候不一定有children属性 为了兼容可以把childNodes中的非文本元素过滤出来function getChildeElement(element){ if(element.children){ return element.children }el...
2020-01-14 14:56:53
804
原创 react-native android环境连接夜神模拟器
一、下载android studio(含sdk)进入http://www.android-studio.org/index.php/download/hisversion下载“android-studio-bundle-141.1903250-windows.exe”二、配置ANDROID_HOME在环境变量设置——系统变量中,增加android sdk路径,变量名ANDROID_HOME...
2020-01-10 14:34:59
503
1
转载 浏览器的几种缓存
1. 缓存相关的字段(response)expires:缓存过期时间private:客户端可以缓存public:客户端和代理服务器都可以缓存max-age=xxx:缓存的内容将在xxx秒后失效no-cache:需要使用对比缓存来验证缓存数据no-store:所有内容都不好缓存,强制缓存和对比缓存都不会触发last-modified:内容上次被修改的时间Etag:文件的特殊标识2...
2020-01-07 19:48:52
1429
原创 windows下删除文件和文件夹
1. 删除文件DEL /F /A 文件名其中:/ F代表强制删除/ A仅选择具有准备存档属性的文件2. 删除文件夹RD /S 文件夹RD从目录中删除该文件夹。/ S表示删除所有子文件夹和文件如果加上/ Q参数,则不会进行Y / N的选择确认。...
2020-01-07 15:19:24
565
原创 由es6 class的super引发的思考
前言: 我能理解为什么有些人那么喜欢语言了,或许这就是一种探索发现的魅力吧。一种语言的成型蕴含了它的设计思想。我们经常遇到这种(mdn截图):你也是class,我也是class,凭什么我继承了你就不能主宰自己的this。es5没有这么说过。我想这是一种规范,内部肯定做了什么骚操作,那就一起看一下吧。es6写法如下:class a{}class b extends a{ const...
2020-01-06 16:16:59
559
原创 node连接mysql
安装mysql下载mysql安装后,在"控制面板-环境变量-用户变量"中配置path为mysql的bin目录启动mysqlcmd命令行下net start mysql,如果遇到如下:说明mysql还没有集成到服务中,使用"mysqld --install" 集成,成功会显示:如果这时net start mysql还不能成功显示:说明mysql根目录下没有data数据库文件夹和my....
2019-09-13 16:42:59
155
原创 java配置环境变量
主要配置3个系统变量:1. java_home: jdk的目录,末尾不要带分号,如:F:\apps\jdk2. classpath:jdk下的两个jar文件,配置如:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 注意最前面是 点+分号,末尾是分号3. path,即jdk下的bin目录,可以%JAVA_HOME%\bin 或 F...
2019-03-19 00:18:35
167
原创 webpack自动打包压缩插件
1. 安装filemanager-webpack-pluginnpm install filemanager-webpack-plugin --save-dev2. 在webpack的build/webpack.base.config.js文件中配置:const FileManagerPlugin = require('filemanager-webpack-plugin')...
2019-03-07 16:54:15
1500
原创 vue中使用element-ui
1. 按需引入在babelrc中配置如下:{ "presets": [ ["env", { "modules": false, "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
2019-02-28 15:20:57
392
原创 vue双向绑定原理
vue的双向绑定原理是通过Object.definedProperty实现的,但最主要的是需要监听到数据属性变化之后去通知改变view,大致的逻辑如下: 一开始new Vue初始化observe和compile,通过Object.definedProperty监听数据,compile负责协调判断vue的指令种类并对视图进行更新,compile增加watcher,将更新视图的回调函数传入...
2019-02-18 11:02:48
315
原创 git命令
一、回滚代码1.git reset HEAD^ 回退到上一个版本 2.git reset HEAD~n 回退到n次提交之前3.git log git reset --hard commit_id(commit的sha码,如下图所示)二、新建仓库后提交代码1.在文件夹打开git窗口,然后gitinit;2.gitremoteaddorigin +gi...
2019-02-13 09:46:26
176
原创 正则表达式——exec和match方法
exec和match,前者是用于检索符合regexp的字符串,后者是在字符串内检索指定的值,同样返回字符串。在用法上:match:可match字符串和正则stringObject.match(searchvalue)stringObject.match(regexp)exec:接受参数为字符串RegExpObject.exec(string)exec的用法和ma...
2019-02-03 18:05:13
828
原创 es6 generator知识点
//generator模拟next方法function gener(arr){ var index=0; return{ next:function(){ return index<arr.length?{value:arr[index++],done:false}:{value:undefined,done:true}; } }};如下所示,迭代器调用,使用r...
2019-01-03 16:34:33
138
原创 手写实现apply,call,bind和数组es5方法
1. apply方法(注意没有传context或者为undefined或null或string,number类型时的上下文context)Function.prototype._apply=function(context){ if(context===undefined||context===null){ context=window; } if(typeof context==...
2018-12-21 00:17:40
624
原创 一些经典题目
1. js对象的最大深度function findDeep(obj){ if(obj&&obj instanceof Object&&!(obj instanceof Array)){ let max=null; let flag=false; for(let key in obj){ let des=findDeep(obj[key])+...
2018-12-19 20:54:31
451
原创 js 事件循环理解
(注:图片来自https://juejin.im/post/5d5b4c2df265da03dd3d73e5#heading-5)事件循环包括宏任务和微任务。宏任务的优先级为:setTimeout>setInterVal>setImmediate>I/O微任务的优先级为:promise.nextTick>promise>MutationObserver...
2018-12-06 14:25:10
194
原创 《高性能JavaScript》学习总结
1. js引擎的执行过程代码执行时长(性能)字符串的连接str+=a+b:内存中创建临时字符串,将a+b的值赋值给临时字符串,将临时字符串和str相加,得到的结果赋值给strstr=str+a+b:将a添加到str后进行连接,然后将b再添加到后面str=a+b+str,执行过程和str+=a+b差不多,需要分配临时字符串当进行字符串拼接时,由于“+=”会拷贝很长的字符串,使用数组的j...
2018-12-01 12:55:01
146
原创 前端性能优化
1. 函数防抖(debounce)//函数防抖var timer=null;window.onresize=function(){clearTimeout(timer);timer=setTimeout(function(){ console.log(12); },1000)}2. 函数节流(throttle)let canRun=truewindow.onr...
2018-11-28 20:58:08
204
原创 前端面试题汇总
1. react生命周期2. diff算法和虚拟dom3. 如何判断用户是从ios还是Android手机打开网页4. 跨域解决方案5. promise和回调解决的问题及区别6. 冒泡排序,快速排序,二分法7. 数组去重(主要包含引用类型)JSON.stringify()8. css盒子模型9. 栈实现队列和队列实现栈10. 深拷贝的实现11. http知识点...
2018-11-28 16:54:30
489
原创 git使用出现的问题
1.fatal: refusing to merge unrelated histories(拒绝合并不相关的历史)解决方法:$git pull origin master –allow-unrelated-histories然后再$ git push <远程主机名> <本地分支名>:<远程分支名>即$git push origin maste...
2018-11-13 21:01:51
191
转载 浏览器缓存之Expires Etag Last-Modified max-age详解
Expires http/1.0中定义的header,是最基础的浏览器缓存处理,表示资源在一定时间内从浏览器的缓存中获取资源,不需要请求服务器获取资源,从而达到快速获取资源,缓解服务器压力的目的。 在response的header中的格式为:Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式) 应用: 1、可以在html页面中添...
2018-08-29 14:55:34
1555
转载 http字段总结
1、 Accept:告诉WEB服务器自己接受什么介质类型,/ 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。2、 Accept-Charset: 浏览器申明自己接收的字符集 Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate) Accept-Language:浏览器申明自己...
2018-08-29 14:53:58
4155
原创 css相关知识整理
1.可以使用background-clip裁剪背景色,默认为content-box,还可设置padding-box,border-box例如可实现轮播时下面圆轮的点击选中效果。2. clip属性可用于裁剪(元素的position必须是fixed或absolute),最主要的是设置rect(top,right,bottom,left),解释为以源图左上角为参考点,最终裁剪的元素:上边距离原图上面...
2018-08-18 16:05:11
167
转载 关于JavaScript对象
在javascript中对象是一种基本的数据类型,在数据结构上是一种散列表,可以看作是属性的无序集合,除了原始值其他一切都是对象。它可以用来表示现实世界中或者我们大脑中抽象出来的客体,这和其他面向对象的编程语言有些类似,但js并不是面向对象的而是基于对象的,因为典型的面向对象要求封装、继承和多态,而javascript中的对象只是做到了封装,而继承可以通过原型或者借用别人家的构造函数来...
2018-07-08 11:13:02
190
转载 CSRF攻击及防御
转载地址:https://blog.youkuaiyun.com/stpeace/article/details/53512283CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如...
2018-05-23 23:05:52
220
原创 Vue学习
一、前言要使用vue,首先引入vue.js,需要new一个Vue实例,vue:html+jsonvue中的el作为选择器,其他有data和methods等,{{msg}}获取数据二、表单内容用 v-model获取数据&amp;amp;amp;lt;input type=&amp;amp;quot;text&amp;amp;quot; v-model=&amp;amp;quot;msg&amp;amp;quo
2018-05-16 21:48:22
237
原创 对闭包的理解
今天看了一下《你不知道的JavaScript》,到闭包那一讲,发现自己之前其实并不是很懂。 闭包,百科上解释是能够读取其他函数内部变量的函数,拿书中的例子来说:function foo() { var a = 2; function bar() { console.log( a ); }return bar;}var baz = foo();baz();...
2018-05-11 19:29:58
354
原创 ajax总结
一、ajax简介Ajax = Asynchronous JavaScript and XML (异步的JavaScript和XML),Ajax是一种用于创建快速动态网页的技术。Ajax最大的优点就是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。 二、ajax用法跨域:jquery方法封装:(jsonp跨域只能用于get请求,即使指定了post,也会变为get)后台php头文...
2018-05-01 22:52:05
145
转载 nodejs中process讲解
虽然node对操作系统做了很多抽象的工作,但是你还是可以直接和他交互,比如和系统中已经存在的进程进行交互,创建工作子进程。node是一个用于事件循环的线程,但是你可以在这个事件循环之外创建其他的进程(线程)参与工作。 进程模块 process模块允许你获得或者修改当前node进程的设置,不想其他的模块,process是一个全局进程(node主进程),你可以直接通过process变量直接访问它。...
2018-04-24 19:02:10
1810
转载 exports和module.exports的区别
module.exports 初始值为一个空对象 {}exports 是指向的 module.exports 的引用require() 返回的是 module.exports 而不是 exports我们经常看到这样的写法:exports = module.exports = somethings上面的代码等价于:module.exports = somethingsexports = modul...
2018-04-24 17:09:56
302
网站引导介绍页应该怎么做?
2017-11-20
正则表达式过滤掉html中input type=“text”的标签,value值不过滤。
2017-11-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人