自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 春招落下帷幕——期待与eBay相遇

    因为春招找大四的实习,好久没写文了,刚查看了一下邮件,收到了华为的实习接收意向书,应该算是春招落幕了吧,一路走来,貌似收到5个offer吧(自己还是太菜了,感谢不嫌弃能给发offer的公司,也感谢这几个月来的所有面试官和帮忙内推的人以及一起奋斗的伙伴),这里就简单总结一下吧。    拿到的第一个口头offer...

2019-05-18 22:45:49 200

原创 ES6新纪元

一、Symbol为啥需要Symbol?ES5里面对象的属性名都是字符串,如果你需要使用一个别人提供的对象,你对这个对象有哪些属性也不是很清楚,但又想为这个对象新增一些属性,那么你新增的属性名就很可能和原来的属性名发送冲突,显然我们是不希望这种情况发生的。所以,我们需要确保每个属性名都是独一无二的,这样就可以防止属性名的冲突了。因此,ES6里就引入了Symbol,用它来产生一个独一无二的值。...

2019-03-02 21:32:19 212

原创 ES6各大数据类型的扩展

一、字符串扩展includes()、startsWith()、endsWith()。传统JavaScript只有indexOf()方法用来确定一个字符串是否包含在另一个字符串中,ES6又提供了三个新方法。includes():返回布尔值,表示是否找到了参数字符串。startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。endsWith():返回布尔值,表示参数字符串...

2019-02-27 20:08:47 178

原创 ES6变量的解构赋值

一、数组的解构赋值es5一次声明多个变量。var a = 1, b = 2, c = 3;es6一次声明多个变量。let [a, b, c] = [1, 2, 3]; //a=1,b=2,c=3es6这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。let [foo, [[bar], baz]] = [1, [[2], 3]...

2019-02-26 17:12:10 140

原创 ES6定义变量

一、let命令不存在变量提升。es5的var会存在变量提升问题,但是es6的let和const不会存在变量提升问题。暂时性死区。只要在块级作用域内存在let命令,它所声明的变量就绑定在这个区域,不再受外部的影响。es6明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域,凡是在声明之前就使用这些变量,就会报错。即使是使用typeof也会报错...

2019-02-26 15:43:15 1250

原创 JavaScript事件

一、默认事件阻止默认事件,主流浏览器使用preventDefault(),IE8及其以下,设置returnValue属性,false取消默认事件,true不取消默认事件。document.onselectstart = function(e) { e = e || window.event; //取消默认行为 if(e.preventDefault){ ...

2019-02-24 22:24:31 139

原创 JavaScript面向对象

一、面向对象基本特征封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承:通过继承创建的新类称为“子类”或“派生类”。继承的过程,就是从一般到特殊的过程。多态:对象的多功能,多方法,一个方法多种表现形式。Javascript是一种基于对象(object-based)的语言。但是,它又不是一种真正的面向对象编程(OOP)语...

2019-02-24 11:26:45 84

原创 初识webpack

    webpack 是一个现代 JavaScript 应用程序的静态模块打包器。简单的说,webpack是一个构建工具,帮助我们将开发好的项目打包,然后我们可以部署到生产环境。    首先我们需要全局安装webpack:cnpm i -g webpack。安装完成后使用webpack -v查看版本号。&nbsp...

2019-02-22 20:02:55 89

原创 JavaScript cookie

一、认识cookiecookie : 存储在本地的一个数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来向访问者电脑上存储数据。不同的浏览器存放的cookie位置不一样,也是不能通用的。cookie的存储是以域名形式进行区分的,每个域名对应一个cookie存储地址。cookie的数据可以设置名字的。一个域名下存放的cookie的个数是有限制的,不同的浏览器存放的个数...

2019-02-22 14:35:14 100

原创 JavaScript正则表达式

一、认识正则表达式正则表达式是描述字符模式的对象,正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。正则表达式主要用来验证客户端的输入数据。可以节约大量的服务器端的系统资源,并且提供更好的用户体验。二、创建正则表达式字面量。语法:Reg = /pattern/modi...

2019-02-22 09:52:24 75

原创 JavaScript Ajax

一、认识AjaxAJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。功能:在不刷新页面的情况下,实现与后台的数据交互。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 Ajax技术核心是XMLHttpRequest对象(简称XHR)。Ajax不能跨域,浏览器的同源策略。要想跨域,可以使用jsonp,或者后台开放...

2019-02-21 15:41:33 78

原创 JavaScript事件监听

一、事件event对象Event事件对象,用来获取事件的详细信息:鼠标位置、键盘按键。在主流浏览器下默认传参给事件函数的第一个参数,ie低版本会挂载在window下的event属性里,保存了触发事件参数,这是个全局对象。Event对象的兼容:e = e || window.event;obj.onclick = function(e){ e = e || window.event...

2019-02-20 23:23:18 569

原创 JavaScript BOM

一、Window对象浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。Window对象表示浏览器窗口,所有JavaScript全局对象、函数以及变量均自动成为 window 对象的成员。全局变量是window对象的属性,全局函数是window对象的方法。HTML DOM的 document也是window对象的属性之一。window.navigator.use...

2019-02-19 23:06:16 73

原创 JavaScript CSSOM视图模式

一、获取窗口的宽高Window视图属性。window.innerWidth:窗口的内部宽度,不包括用户界面元素,比如窗框。window.innerHeight:窗口的内部高度。IE8以下不兼容。Document文档视图。document.documentElement.clientWidth:浏览器窗口可视宽度。document.documentElement.clientHeight:浏览...

2019-02-19 16:12:29 83

原创 JavaScript DOM文档对象

一、节点文本节点,IE8以下空格节点获取不到。元素节点 div。属性节点 class、id、value。注释节点<div id="wrap"> <div class="position"> <div id="box" class="box1" data-title="这也是节点" abc="1

2019-02-19 13:50:22 75

原创 JavaScript日期对象

日期对象new Date()获取的是本地的计算机时间。日期对象可以直接相减,得到的是两个时间的相差毫秒数。var date = new Date();console.log(date - new Date()); //0获取时间var date = new Date();var H = date.getHours(),//当前小时 M = date.getMinu...

2019-02-18 17:23:30 183

原创 JavaScript定时器

一、定时器setTimeout:循环一次。setInterval:循环多次。clearTimeout:清除一次性定时器。clearInterval:清除多次定时器。function boom(){ console.log('boom');}setTimeout(boom, 1000); //1秒后执行代码function go(){ console.log('...

2019-02-18 13:43:35 85

原创 JavaScript数组方法

一、基本类型和引用类型数值、字符串、布尔值、undefined、null可以直接写出来,比较简单的数据称为基本类型,在比较的时候,是直接按值比较。对象、函数、数组复杂的数据是引用类型,在比较的时候,是按照地址比较。console.log([1] === [1]); //falsevar a = []; //a其实存的是一个空数组的地址 引用var b = a; //赋值也是 赋的这...

2019-02-18 00:27:42 123

原创 JavaScript严格模式

严格模式在ES5引入,为了让团队开发更为便利、严谨,使用"use strict"开启严格模式。变量必须声明之后再使用。"use strict";a = 1;console.log(a); //报错函数的参数不能有同名的变量。"use strict";function add(a, a, b){}add();不能使用with语句,with可以动态改变作用域,将要被废...

2019-02-17 16:45:54 72

原创 JavaScript字符串方法

一、创建字符串创建字符串的三种办法: new String(), String(), 直接量,三种方式可以创建。String即文本(字符串),字符串方法都不改原字符串;length可读不可写。var str = new String('hello');var str = String('hello'); //内建函数var str = 'hello'; //字面量console...

2019-02-17 12:31:04 780

原创 JavaScript this

一、this是谁作为普通函数调用/自执行,this在全局/自执行(函数名())时,this指向window,实际上并不是指向了window,而是指向了null,被解释成了window。使用"use strict"开启严格模式,在es5的严格模式下,自执行,this指向undefined。function fn(){ this.xx = 123;}fn();console.l...

2019-02-17 00:48:08 58

原创 JavaScript对象和json

一、对象在js中,对象是一种数据类型,不同于其他语言中的对象,js对象可以直接写出来,对象的写法包括:{}字面量、new Object()、Object.create({})。格式是{键:值},多个键值对用逗号分隔,键表示属性名,值表示属性值。键可以加引号也可以不加引号,可以写字符串和数值类型,其他变量类型不能书写。值必须存储数据,可以是任意数据类型,和数组类似。在es6中,如果键名和变量...

2019-02-16 19:21:29 96

原创 JavaScript闭包

一、获取局部作用域的变量通过变量向外传递。通过函数向外传递。条件和循环体:{}不代表作用域,在es6语法中,{}会被看做代码块,此时在{}当中声明一个函数,相当于var声明,尽量不要在{}当中声明函数,否则调用的时候会有问题。// 通过变量 向外传递 var b = '';function fn1(){ var a = "月薪10w"; b = a;}fn1()...

2019-02-16 14:05:33 61

原创 JavaScript作用域

一、什么是作用域作用是对代码的一个读写操作,域是js能够实现的一个范围。在script标签中var的时候,其实是在最大的window上加了一个属性,如果在script中没有用var声明,而是直接赋值,那就是自动在window上加一个属性,这是系统在找不到声明的时候,自动加的。console.log(a); //undefinedvar a = 1;console.log(a); //...

2019-02-16 12:54:23 63

原创 JavaScript运算符和类型转换

一、运算符+、-、*、/、%、**(es6 a**n:a的n次方)。赋值运算:=、+=、-=、*=、/=、%=、**=。算数运算不存在分数。在加号的任意一侧,出现字符串的时候就是字符串的拼接。var a = 1;a /= 2;a %= 2;a **= 2;<div id="box"> <p class="on">&am

2019-02-15 20:01:54 103

原创 JavaScript for循环

一、for语句for(1; 2; 4){ 3;}1:定义语句2:判断语句3:执行体4:(迭代)变化语句1->2(true)->3->4->2(ture)->3->4->2->3->4->2(false)var oBtn = document.getElementById('btn');var oBox = do...

2019-02-13 20:06:42 131

原创 JavaScript获取元素的方法

一、获取元素的所有方法通过id直接获取(极其不推荐),但是在调试代码的时候非常好用。通过document直接获取,包括head、title、body。通过类名获取,getElementsByClassName获取的是HTMLCollection,是一个类数组,IE8以下不兼容。通过标签名获取,getElementsByTagName获取的是HTMLCollection,也是一个类数组。...

2019-02-12 19:09:02 210

原创 JavaScript判断语句

一、比较运算在js中,凡是运算都会有返回值、<、、!=、>=、<=、=、!==。比较运算返回值是true/false,即布尔值。在比较运算的时候,如果判断两个变量的值是否相等,采用==会有一个数据类型的隐式转换。js是一种弱类型语言,数据类型会相互转换。===的执行效率要高于==,因为后者需要进行数据类型的转换。console.log(a = 2);//2 ...

2019-02-11 23:25:11 4038

原创 JavaScript标签内属性和数组

一、操作style属性通过点语法获取到的style是CSSStyleDeclaration对象,可以直接使用.的形式进行赋值或者访问标签合法属性。<div id="box" style="width: 100px;height: 100px;background-color: red; float: left;"></div><script> ...

2019-02-11 02:07:27 183

原创 JavaScript属性获取

一、操作标签的合法属性合法属性:比如id、class、title、href、src等。获取合法属性:获取元素之后,直接使用点语法。修改合法属性:获取元素之后,用等号赋值,修改已有属性。添加合法属性:直接等号赋值。<div id="box" title="你好">你好吗?</div><script>var title = document.get...

2019-02-08 20:08:33 326

原创 JavaScript代码执行顺序和数据类型

一、代码执行顺序浏览器解释代码是自上而下的,遇到script标签会直接解读js代码,下面的html元素就不会被解析,下面的html元素就获取不到,直到读取完毕。src引入的图片资源/js资源,href引入的css资源,整个文档也需要加载,到资源加载完毕,就可以执行代码。<!-- 报错 --><script> document.getElementById...

2019-02-08 18:54:57 110

原创 JavaScript函数

一、函数的声明和函数的表达式(1)函数的声明:通过function来声明一个函数叫作函数的声明。(有名函数)function fn(){ //...code}fn();此为函数的声明,声明的后面不需要加分号,函数在声明的时候并没有执行。只是把自己的内部作为一块存了起来,当我们调用的时候执行。函数的执行,采用函数名加()表示执行,执行不分场合,只要是函数名加()就表示函数的执...

2019-02-08 00:19:22 302

原创 重识JavaScript

    最近打算重新学习JavaScript,以前学习的过程中没有留下笔记,所以这次重新学习,也在读红宝书,也就是JavaScript高级程序设计(第3版),顺便把笔记相应的记一下。    认识一门语言,首先需要知道这门语言是来干什么的,它能做什么,不能做什么心中要大体有个数。JavaScript一种直译式脚本语言,...

2019-02-06 19:51:55 146

原创 读《程序是怎样跑起来的》

    寒假过半,今天正好是第三周的周末,读完了《程序是怎样跑起来的》。最近很少做手撕代码的事,却读了一些基础知识相关的书。俗话说,快就是慢,慢就是快。不要一味追求代码代码,最后却忘了本质的东西。    诚然,身为一个程序员,只要能够写出正确无误的代码,程序能够按照预想的运行,也算是一个合格的程序员。但这却不是一个优...

2019-02-03 20:15:08 1161

原创 Git标签的管理和配置命令别名

    发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。    首先我们log一下commit记录,可以使用git log --pretty=one

2019-02-01 12:47:53 119

原创 Git bug分支与多人协作

    所谓bug分支,就是我们在开发的过程中,可能突然遇到一个需要解决的bug,但是我们手头的开发工作还没有完成,这个时候我们需要创建新的bug分支进行修复,修复完bug后,我们将bug分支进行合并,然后删除。当手头的工作没有完成时,我们需要先把工作现场git stash一下,然后去修复bug,修复完成后,再通过git stash pop,回到工作现场。...

2019-02-01 12:05:00 282

原创 Git分支的创建以及分支冲突解决

    在Git中的每次提交,Git都会把它们串成一条时间线,这条时间线就是一个分支,但是到目前为止,我们只有一条分支master分支,也就是我们的主分支,在实际的项目开发过程中,我们并不会在master分支上进行开发,而是会新创建一个分支,然后在这个新创建的分支上开发测试,全部没有问题后,再合并到主分支上。比如我要开发一个项目中的一个功能,我就要新创建一个...

2019-01-31 23:18:28 356

原创 Git从远程库克隆

    在实际开发中,不管我们是单独从零开发一个项目,还是跟随团队进行开发,其实更推荐使用直接在GitHub、码云、codingnet上建立远程库,然后克隆到本地。下面我们假设项目组长搭建好了项目框架,我们需要从远程库里将项目克隆到本地。    我们可以点击Download ZIP下载到本地解压,也可以复制SSH地址...

2019-01-31 19:16:10 301

原创 Git关联远程仓库并把本地内容push到远程仓库

    当目前为止,我们所做的一切操作还只是在本地的操作,但是正如我们之前所说的,我们需要一个远程仓库来帮助我们进行团队开发,我们可以在GitHub、码云、codingnet上建立一个远程版本库。GitHub就是程序员最大的同性交友网站,要是你还没有一个GitHub账号,就要去申请一个了。直接去GitHub官网就可以申请,本文不做详细的介绍,这都不会的话,本...

2019-01-31 18:03:41 652

原创 Git丢弃修改

    Git是如何跟踪修改的?我们之前修改文件后都用到了两个命令git add <file>、git commit,其实在Git中,每次修改后,如果不add到暂存区,那就不会加入到commit。    查看一下文件内容:    在其中添加一行记录第二次提交测试

2019-01-31 14:39:04 3873

空空如也

空空如也

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

TA关注的人

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