自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ynd_sg的博客

love life,love challenge

  • 博客(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 195

原创 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 166

原创 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 442

原创 前端知识总结

1. async 和 defer的相同点和区别defer 延迟加载async 异步加载defer和async在“下载”这块是一样的,都是异步不会阻塞html的解析区别在于何时执行,async不管声明顺序如何,加载完了后会立刻执行defer将在页面完成解析时(domcontentloaded)执行,同时是按照加载顺序执行的w3school的说法:如果 async=“async”:脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)如果不使用 async 且 defer=“

2020-05-29 19:56:29 331

原创 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 157

原创 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 295

原创 mac相关操作

1.macfinder右键新增文件下载并安装NewFileMenuMac2.如何打开安装程序的文件夹找到应用程序后右键查看包内容即可

2020-05-29 18:25:54 148

转载 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 968

原创 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 198

原创 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 116

原创 children和childNodes的区别

children获取当前元素的子节点元素(不包含文本元素)childNodes获取当前元素的子节点元素(包含文本元素)有的时候不一定有children属性 为了兼容可以把childNodes中的非文本元素过滤出来function getChildeElement(element){ if(element.children){ return element.children }el...

2020-01-14 14:56:53 714

原创 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 430 1

转载 浏览器的几种缓存

1. 缓存相关的字段(response)expires:缓存过期时间private:客户端可以缓存public:客户端和代理服务器都可以缓存max-age=xxx:缓存的内容将在xxx秒后失效no-cache:需要使用对比缓存来验证缓存数据no-store:所有内容都不好缓存,强制缓存和对比缓存都不会触发last-modified:内容上次被修改的时间Etag:文件的特殊标识2...

2020-01-07 19:48:52 1344

原创 windows下删除文件和文件夹

1. 删除文件DEL /F /A 文件名其中:/ F代表强制删除/ A仅选择具有准备存档属性的文件2. 删除文件夹RD /S 文件夹RD从目录中删除该文件夹。/ S表示删除所有子文件夹和文件如果加上/ Q参数,则不会进行Y / N的选择确认。...

2020-01-07 15:19:24 452

原创 由es6 class的super引发的思考

前言: 我能理解为什么有些人那么喜欢语言了,或许这就是一种探索发现的魅力吧。一种语言的成型蕴含了它的设计思想。我们经常遇到这种(mdn截图):你也是class,我也是class,凭什么我继承了你就不能主宰自己的this。es5没有这么说过。我想这是一种规范,内部肯定做了什么骚操作,那就一起看一下吧。es6写法如下:class a{}class b extends a{ const...

2020-01-06 16:16:59 483

原创 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 124

原创 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 112

原创 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 1422

原创 vue中使用element-ui

1. 按需引入在babelrc中配置如下:{ "presets": [ ["env", { "modules": false, "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]

2019-02-28 15:20:57 345

原创 vue双向绑定原理

vue的双向绑定原理是通过Object.definedProperty实现的,但最主要的是需要监听到数据属性变化之后去通知改变view,大致的逻辑如下: 一开始new Vue初始化observe和compile,通过Object.definedProperty监听数据,compile负责协调判断vue的指令种类并对视图进行更新,compile增加watcher,将更新视图的回调函数传入...

2019-02-18 11:02:48 252

原创 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 142

原创 正则表达式——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 774

原创 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 111

原创 手写实现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 540

原创 一些经典题目

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 416

原创 js 事件循环理解

(注:图片来自https://juejin.im/post/5d5b4c2df265da03dd3d73e5#heading-5)事件循环包括宏任务和微任务。宏任务的优先级为:setTimeout>setInterVal>setImmediate>I/O微任务的优先级为:promise.nextTick>promise>MutationObserver...

2018-12-06 14:25:10 154

原创 《高性能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 115

原创 前端性能优化

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 154

原创 前端面试题汇总

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 456

原创 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 146

转载 浏览器缓存之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 1368

转载 http字段总结

1、 Accept:告诉WEB服务器自己接受什么介质类型,/ 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。2、 Accept-Charset: 浏览器申明自己接收的字符集 Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate) Accept-Language:浏览器申明自己...

2018-08-29 14:53:58 3989

原创 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 141

转载 关于JavaScript对象

      在javascript中对象是一种基本的数据类型,在数据结构上是一种散列表,可以看作是属性的无序集合,除了原始值其他一切都是对象。它可以用来表示现实世界中或者我们大脑中抽象出来的客体,这和其他面向对象的编程语言有些类似,但js并不是面向对象的而是基于对象的,因为典型的面向对象要求封装、继承和多态,而javascript中的对象只是做到了封装,而继承可以通过原型或者借用别人家的构造函数来...

2018-07-08 11:13:02 146

转载 CSRF攻击及防御

转载地址:https://blog.csdn.net/stpeace/article/details/53512283CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:       攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如...

2018-05-23 23:05:52 178

原创 Vue学习

一、前言要使用vue,首先引入vue.js,需要new一个Vue实例,vue:html+jsonvue中的el作为选择器,其他有data和methods等,{{msg}}获取数据二、表单内容用 v-model获取数据&amp;amp;amp;amp;lt;input type=&amp;amp;amp;quot;text&amp;amp;amp;quot; v-model=&amp;amp;amp;quot;msg&amp;amp;amp;quo

2018-05-16 21:48:22 194

原创 对闭包的理解

今天看了一下《你不知道的JavaScript》,到闭包那一讲,发现自己之前其实并不是很懂。 闭包,百科上解释是能够读取其他函数内部变量的函数,拿书中的例子来说:function foo() { var a = 2; function bar() { console.log( a ); }return bar;}var baz = foo();baz();...

2018-05-11 19:29:58 322

原创 ajax总结

一、ajax简介Ajax = Asynchronous JavaScript and XML (异步的JavaScript和XML),Ajax是一种用于创建快速动态网页的技术。Ajax最大的优点就是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。 二、ajax用法跨域:jquery方法封装:(jsonp跨域只能用于get请求,即使指定了post,也会变为get)后台php头文...

2018-05-01 22:52:05 114

转载 nodejs中process讲解

虽然node对操作系统做了很多抽象的工作,但是你还是可以直接和他交互,比如和系统中已经存在的进程进行交互,创建工作子进程。node是一个用于事件循环的线程,但是你可以在这个事件循环之外创建其他的进程(线程)参与工作。  进程模块  process模块允许你获得或者修改当前node进程的设置,不想其他的模块,process是一个全局进程(node主进程),你可以直接通过process变量直接访问它。...

2018-04-24 19:02:10 1596

转载 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 264

技术知识图谱

该文件为各种网络技术知识的框架图谱,包括编程语言,移动开发等各种架构

2017-11-23

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

TA关注的人

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