自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

holiday19950913的博客

不积跬步无以至千里

  • 博客(49)
  • 收藏
  • 关注

原创 移动端适配方案

REM是什么rem MDN查看rem的含义 这个单位代表根元素的 font-size 大小(例如 <html> 元素的font-size)。当用在根元素的font-size上面时 ,它代表了它的初始值(译者注:默认的初始值是html的默认的font-size大小,比如当未在根元素上面设置font-size大小的时候,此时的1rem==1em,当设置font-size=2rem的时候,就使得页面中1rem的大小相当于html的根字体默认大小的2倍,当然此时页面中字体的大小也是html的根字体

2020-08-17 13:11:01 343

转载 call,apply,bind的区别和使用场景

call()、apply()、bind()都是函数对象的一个方法,它们的作用都是改变函数的调用对象。它的使用极大的简化了代码的调用。一、方法定义call方法语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]])定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 thisObj 参数,那么 Gl.

2020-08-12 12:59:30 1130

原创 当我们在js中使用new时,我们在做什么

当我们在js中使用new时,我们在做什么

2020-08-02 16:34:29 178

原创 前端开发环境(自用)

主要的工具 翻Q工具 VSCode Node.js Git/SVN ColorPix // 吸色小工具 chrome typora //好用的markdown编辑器 Firework // 吸色和测量 ...

2020-08-02 10:31:34 124

原创 VS Code插件【私人推荐】

vscode插件推荐1.chinese将vscode里面可以翻译成中文的都翻译一下2.open in broswer右键出现在浏览器打开的选项3.ESLintJS代码错误工具,有内置规则和自定义规则具体的功能自己可以探索一下4.koroFileHeader文件头部加注释 ctrl + alt + i光标处加注释 ctrl + alt + t5.Vetur语法高亮支持.vue文件的语法高亮显示,除了支持template...

2020-07-16 17:05:25 187

转载 正则表达式例子与练习

在做项目的过程中,使用正则表达式来匹配一段文本中的特定种类字符,是比较常用的一种方式,下面是对常用的正则匹配做了一个归纳整理。1、匹配中文:[\u4e00-\u9fa5]2、英文字母:[a-zA-Z]3、数字:[0-9]4、匹配中文,英文字母和数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$同时判断输入长度:[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}5、(?!_)  不能以_开头(?!.*?_$)  不能以_结尾[a-zA-Z0-9_\

2020-05-29 20:18:14 380

原创 拉取代码的时候,git报错:commit your changes or stash them before you can merge

今天又是远程办公的一天,去年公司用的代码管理工具是svn,很开心今年终于换到了git但是今天在使用git拉取代码的时候报错了,报错如下:commit your changes or stash them before you can merge.很明显可以看出,是我的工作区和远程仓库的代码冲突了所以拉不下来那么,我们可以怎么办呢?第一种方法是放弃本地修改,直接拉...

2020-03-02 19:56:11 579

原创 Typora教程

快捷键 加粗: Ctrl/Cmd + B 标题: Ctrl/Cmd + H 插入链接: Ctrl/Cmd + K 插入代码: Ctrl/Cmd + Shift + C 行内代码: Ctrl/Cmd + Shift + K 插入图片: Ctrl/Cmd + Shift + I 无序列表: Ctrl/Cmd + Shift + L ...

2019-07-10 17:55:49 214

原创 Unicode与JavaScript

Unicode是一个字符集表示:U+0000 用U+4个十六进制数表示,这个是码点U+597D = 好U+0000 = nullUnicode的字符是分区定义的,每个区是一个平面,一共17个平面最常见的字符都在第一个平面,他被称为基本平面一个码点对应一个字符,但是每个码点需要一个字节序在计算机中表示,这涉及到了编码方式最直观的编码方式是UTF-32...

2019-07-07 17:55:44 201

原创 ES6之箭头函数

函数表达式的语法糖引入箭头函数有两个方面的作用:更简短的函数并且不绑定this基础语法:(参数1, 参数2, …, 参数N) => { 函数声明 }//相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; }(参数1, 参数2, …, 参数N) => 表达式(单一)// 当只有一个参数时,圆括号是可选的:(单一参数) => ...

2019-07-01 19:45:56 144 1

原创 ES6之模板字符串

作用:允许嵌入表达式的字符串字面量。主要是避免拼接这种JS的愚蠢操作,让代码更优雅和易读一点。作用:1.实现多行字符串的功能。 更优雅。//使用前console.log('string text line 1\n' +'string text line 2');//使用后 更优雅的方式,摒弃了以前字符串拼接console.log(`string text line 1...

2019-06-13 17:26:07 151

原创 重学前端第6课 关于JS数据类型的细节

这节课讲的是JS数据类型,.众所周知, ES5有5种基本的数据类型,  还有一种引用类型(对象), 在ES6中则新增一种symbol基本数据类型变量, 参数, 返回值到表达式中间结果, 任何JavaScript代码运行过程中产生的数据, 都属于上述7中数据类型的一种尽管数据类型很基础, 但是还是会有一些细节可能还不太清楚的,比如:|● 为什么有些编程规范要求用void 0代表undefin...

2019-02-09 20:58:21 175

原创 重学前端 第五课 运用语义标签来呈现wiki网页

上一课讲到了语义化标签的3个运用场景:1.自然语言的补充2.作为标题3.作为整体结构这节课会试着用语义化标签去描绘一个wiki网页, 这是上述3个场景使用的具体例子.先上链接:https://en.wikipedia.org/wiki/World_Wide_Web这是我们将要描绘的网页下面是使用过程:1.使用aside标签   和正文不那么相关的内容,比如导航,广告等2.使用...

2019-01-29 02:36:28 330

原创 重学前端 第四课 关于语义化标签

什么是语义化标签?一些和传统标签视觉表现差不多,但是表示不同的语义,比如section  nav  p这些语义化还有必要吗?现在互联网产品,大多数情况不需要,只用div,span即可。但是网页还有其必要性:1.对开发者更友好2.利用SEO,利用给引擎爬虫获取有效信息,提升网页的搜索量3.支持读屏软件3个运用场景 :1.自然语言表达能力的补充举例em和strong     贴一段...

2019-01-22 19:09:41 220

原创 如何理解JS基本包装类型

基本数据类型有:string,number,boolean基本包装类型也有:string,number,boolean他们有什么区别和联系呢?首先,基本包装类型属于引用类型(也就是对象),存储在堆内存中,他们具有属性和方法,比如String是JS内置对象,原型中有很多方法可以使用。定义的时候用对象定义。同时,基本数据类型不是引用类型,存储在栈内存中,没有属性和方法。定义的时候用字面...

2019-01-19 23:42:13 476

原创 重学前端 第三课 前端知识架构

第三课主要是用MindMap的形式介绍了一下课程大纲。我也下载了一个xmind的软件,跟这个他的思路做这个MindMap,往后可能是在这个脑图的基础上去补充内容。怎么说呢,今天这课,我在学习的时候也在思考一个问题,不同的人水平不一样,虽然winter大神挺厉害的,但是可能这课对是不是于现阶段的我来说有点超过了我的水平。这课大概受众是那些从业1-3年,基础比较扎实,项目经验较丰富,开始晋...

2019-01-19 18:57:21 381

原创 重学前端 第二课 前端学习方法

这一课主要讲了2个前端学习方法。第一个方法:建立知识架构所谓知识架构,可以理解为目录或者索引,而这个目录要有逻辑性和完备性。他里面开始构建自己的知识架构。首先他要做一个JavaScript的顶层目录,他强调知识点之间不是零散的,要有关系,可以是包含,并列等,所以他划分为:●文法●语义●运行时他这样划分的原因是,他认为对于任何计算机语言来说,必定是“用规定的文法,去表达特定的...

2019-01-18 14:18:28 9624

原创 重学前端 第一课 经验之谈

这一课主要介绍了winter老师从事前端的职业经历,开设课程针对的痛点及课程简介。在他的经历里面提到一些技术,比如多屏适配方案,基础库,工具链,页面搭建平台和性能体系,客户端融合方案 Weex,以及前端工程体系的持续集成,前后端分离,线上监控这些,我是非常陌生的,希望以后我可以进一步成长,再回头看这些知识的时候,能够有一个了解。这篇文章提到的一个非常重要的东西--知识体系。之前自学前端,虽然时...

2019-01-17 01:49:26 7973

原创 域名和URL是什么?域名和IP是一一对应的吗?

另开一篇补充2个常见但是重要的网络问题:1.域名和URL是什么?域名时一台或者一组服务器的名称,用来确定服务器在Internet上的位置(解析为IP后查找)URL是统一资源定位符(Uniform Resource Locator)例如:csdn.net  是csdn的域名,根据这个域名我们可以找到csdn的服务器me.csdn.net/holiday19950913   是...

2019-01-10 13:41:42 7797 1

原创 不要再在面试问我:输入URL到加载页面经历什么了

在面试的时候考官经常会问这样一道题,请问从输入URL到加载页面经历什么?被问了听多次的,所以根据我了解的知识以及理解回答一下吧回答:这个过程大概会有如下几个步骤:1.输入URL      这个URL结构为    scheme://domin:port/path/filename       port为端口号,默认为80端口2.DNS解析(将域名解析为IP的过程)    过程...

2019-01-10 12:15:55 265

原创 595. 大的国家

Create table If Not Exists World (name varchar(255), continent varchar(255), area int, population int, gdp int)Truncate table Worldinsert into World (name, continent, area, population, gdp) values ...

2019-01-03 13:16:32 169

原创 929 独特的电子邮件地址

 var numUniqueEmails = function(emails) { const arr = emails.map((val) =&gt; { return (val.split('@')[0].replace(/\./g, '') + '@'+val.split('@')[1]).replace(/\+.*(?=@)/, '') })...

2018-12-30 14:28:17 465

原创 349 两个数组的交集

 思路,先把共同的元素都放到一个数组,然后进行数组去重/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */var intersection = function(nums1, nums2) { var temp = [], targetArr = []; ...

2018-12-28 13:17:28 99

原创 10 正则表达式匹配

/** * @param {string} s * @param {string} p * @return {boolean} */var isMatch = function(s, p) { var reg = RegExp(p); var match = s.match(reg); return (s == match ) };笔记:...

2018-12-26 11:39:36 166

原创 统计字符串中字符数量

1.统计字符串中字符数量比如  ‘asdssddaag’a:3    d:3     s:3    g:1function countLt (str) {       var json = {};       for(var i = 0; i &lt; str.length ; i++){ if( !json[str[i]] ){ ...

2018-12-26 01:34:52 6185 1

原创 922 按奇偶排序数组II

 /** * @param {number[]} A * @return {number[]} */var sortArrayByParityII = function(A) { var odd =[]; var even =[]; var result = []; for(var i=0;i&lt;A.length;i++){ ...

2018-12-23 12:10:30 119

原创 867 转置矩阵

代码:/** * @param {number[][]} A * @return {number[][]} */var transpose = function(A) { var result = []; for(var k=0; k&lt;A[0].length; k++ ){ result[k] = []; } for(var ...

2018-12-23 12:00:05 236

原创 832 翻转图像

代码:/** * @param {number[][]} A * @return {number[][]} */var flipAndInvertImage = function(A) { // A = A.reverse(); for(var i=0; i&lt;A.length;i++){ A[i].reverse(); fo...

2018-12-22 19:34:33 171

原创 709 to lower case 及字符串方法总结

  /** * @param {string} str * @return {string} */var toLowerCase = function(str) { var result = ''; for(var i =0; i&lt; str.length; i++){ var code = str[i].charCodeAt(); ...

2018-12-22 17:44:54 194

原创 JSON和JSONP理解

这是Google排名第一的答案,看完以后非常清晰,在这里标记一下,怕以后找不到http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html总的来说就是:JSON是一种传递数据的数据结构优点:JS原生支持(有这个对象的属性和方法),可读性强,容易编写和解析他和对象有点像,但是在规则或者说格式上...

2018-12-18 10:03:21 119

原创 求斐波拉契数列第N项的3个写法(JS)

 题目:求斐波拉切数列第n个数的值是多少?数列:1,1,2,3,5,8,13,21......第一种,for循环,直接求N项// i代表第三项,res代表第i项的时候的值,通过前面2项相加去实现,n项的时候跳出循环,输出resfunction fb(n){ var a,b,res; a = b = 1; for(var i=3;i&lt;=n;i++){...

2018-12-12 19:02:33 1035

原创 数组和对象这2种数据结构的存储和转换的2道题(JS实现)

这是关于数组和对象这2种数据结构的存储和转换的2道题,相信你看了和做了之后会有所收获。1.将对象转换成二维数组var scoreObject = { "Tony": { "Math": 95, "English": 79, "Music": 68 }, "Simon": { "Math":

2018-11-27 13:09:09 272 1

原创 JS对象递归遍历

总所周知,遍历对象的属性用for(x in  object)。但是,如果遍历的对象结构是二叉树,这种方法显然不够用了,所以下需要用递归遍历对象查找数据的方法:var tree = { "id": 0, "name": "root", "left": { "id": 1, "name": "Simon",

2018-11-25 16:46:16 5848

原创 github里面展示作品的方法

拿我自己的github做例子就拿这个吧,一个弹球动画1.首先你要把repo名字加上一个.github.io的后缀,如上所示,去settings里面修改repo名2.同样在settings里面,下拉找到Github Pages,修改None为第一个master branch,然后点击Save3.然后把要展示的html页面,名字改成index.html,如图: 4....

2018-11-25 11:34:07 775

原创 字符串有关算法(JS实现)

1、判断回文字符串 function palindrome(str){ // \W匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。 var re = /[\W_]/g; // 将字符串变成小写字符,并干掉除字母数字外的字符 var lowRegStr = str.toLowerCase().replace(re,''); // 如果字符串lowRegStr的l...

2018-11-23 11:22:45 357

原创 排序算法(JS实现)

1、冒泡排序 function bubbleSort(arr){ var i = 0, j = 0; for(i=1; i&lt;arr.length; i++){ for(j=0; j&lt;=arr.length-i; j++){ var temp = 0; // "&gt;" 从小到大排序 // "&lt;" 从大到小排...

2018-11-23 11:18:21 159 2

原创 用原生JS去除字符串中连续重复的地方

思路:判断是否为空字符串,是就直接返回;不是的话     初始字符串为str第一个,从第二个开始,如果不等于他们前一个的字符,代表不重复,加入初始字符,迭代进行,直到最后一个,返回代码如下: function removeRepetition(str) { if(str != ''){ var result = str[0]; for(var i = 1;i &...

2018-11-16 22:42:53 2072

原创 原生JS去掉字符串前后空格(包括半角圆角)

这是用原生JS去掉字符串前后空格(包括半角圆角)的方法,思路是:去除前面的所有空格:while循环如果第一个是半角空格或者全角空格,则执行代码,截取第二个开始的子字符串(利用substr方法);去除后面的空格思路和前面的相同 代码如下:function diyTrim(str) { var result = "";    if(str == null) return...

2018-11-16 22:33:27 896

原创 浏览器重排和重绘的理解(待补充)

这2个概念表面上和代码无关,和浏览器如何工作有关。但是,了解这2个概念,并且注意一下在写代码的时候如何减少重排,可以优化浏览器的性能,提高速度1.重绘是元素属性发生改变,比如颜色,背景改变等,重新绘制元素(repaint)   重排是重排是更明显的一种改变,可以理解为渲染树需要重新计算。具体重排是什么可以看下面重排的原因部分。2.浏览器重排和重绘都会影响浏览器的性能,特别是重排3....

2018-11-12 18:47:16 711

转载 SVN图标含义

2018-03-29 16:26:37 148

空空如也

空空如也

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

TA关注的人

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