自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 拉取(pull)和推送(push)

拉取和推送是两种不同的协议,用来描述生产者Producer如何与消费者consumer进行通信的。 在拉取体系中,由消费者来决定何时从生产者那里接收数据。生产者本身不知道数据是何时交付到消费者手中的。 每个JavaScript函数都是拉取体系。函数是数据的生产者,调用该函数的代码通过从函数调用中“取出”一个单一返回值来对改函数进行消费。 Generator函数和iterators,这是另外一...

2019-01-04 19:42:18 3430

转载 Redux

转载:https://www.cnblogs.com/tarena/p/8473961.html Redux是为了解决应用程序状态(State)管理而提出的一种解决方案。对于应用开发来讲,UI上显示的数据、控件状态、登陆状态、数据加载画面的不同状态等等全部可以看作状态。 Redux 的三个概念:Reducer、Action、Store。 Store 一般负责:保存应用状态、提供访问状态的方法...

2019-01-04 19:38:18 1120

原创 async和await的基础用法

async是一个表示异步的关键字,将它放在一个函数的前面表示这个函数是一个异步函数。异步函数的意思是该函数的执行不会阻塞后面代码的执行。 async function timeout() {   return 'hello world'; } async函数也是正常的函数,调用的时候正常在后面加括号直接调用。 但需要注意的是,async函数总是返回一个promise,如果代码中有ret...

2019-01-04 19:29:12 657

原创 读《JavaScript标准参考教程》——语法

1.  JavaScript 程序的执行单位为行(line),也就是一行一行地执行。 2.  JavaScript 的变量名区分大小写,A和a是两个不同的变量。 3.  变量的声明和赋值,是分开的两个步骤。如果只是声明变量而没有赋值,则该变量的值是undefined。 4.  JavaScript 是一种动态类型语言,也就是说,变量的类型没有限制,变量可以随时更改类型。 5.  JavaS...

2018-08-28 13:48:17 204

原创 directive中controller、link和compile的区别

controller: controller参数可以是一个字符串或一个函数。当设置为字符串时,会以字符串的值为名字,来查找注册在应用中的控制器的构造函数。 angular.module('app',[]) .directive('myDirective', function(){ restrict: 'A' controller:'someController' }) ...

2018-08-28 11:26:10 1067

转载 grunt学习

http://yujiangshui.com/grunt-basic-tutorial/

2018-08-28 10:19:14 162

原创 深入理解ES6——扩展对象的功能性

1.    对象字面量语法扩展属性初始值的简写:当一个对象的属性与本地变量同名时,不必再写冒号和值,简单的只写属性名即可。function Person(name, age){ return { name: name, age: age }; }function Person(name, age){ return { name, age }; }对...

2018-04-22 16:57:52 193

原创 深入理解ES6——函数

1.    ES6中默认参数值对arguments对象的影响:    在ES5中非严格模式下,命名参数的变化会同步更新到arguments对象中,例如:function mixArgs(first,second){ console.log(first===arguments[0]); //true console.log(second===arguments[1]); //t...

2018-04-15 16:34:00 271

原创 深入理解ES6——字符串和正则表达式

1.    ES6新增了codePointAt()方法,接受编码单元的位置而非字符位置作为参数,返回与字符串中给定位置对应的码位,即一个整数值。   与codePointAt()方法相反,String.formCodePoint()方法根据指定的码位生成一个字符。2.    ES6新增normalize()方法,提供Unicode的标准化模式,接受一个可选的字符串参数,指明应用某种Unicode标...

2018-04-11 22:15:50 295

原创 深入理解ES6——块级作用域绑定

块级作用域存在于: 函数内部块中(字符{和}之间的区域) let声明不会被提升。let禁止重复声明,但如果当前作用域内嵌另一个作用域,便可在内嵌的作用域中用let声明同名变量,例如: var a = 30; if(con){ let a = 40; //不会报错 } let声明循环时,每次迭代循环都会创建一个新变量,并以之前迭代中同名变量的值将其初始化。 const

2018-01-07 20:54:28 250

转载 前端的模块化开发

阮一峰的:(膜拜大牛,每次遇到不了解的知识总是先看他的日志有没有写类似问题,讲解的通俗易懂) Javascript模块化编程(一):模块的写法            http://www.ruanyifeng.com/blog/2012/10/javascript_module.html Javascript模块化编程(二):AMD规范               http://www.r

2017-12-27 20:30:56 199

原创 前端笔试题的小结(2)

4.font的设置问题:12px/1.5是什么意思?两行文字的行高是多少?两行文字的间隔是多少?如果文字大小12px,行高也是12px,所有类型的文字都会显示完全吗? 5.回流和重绘的问题?如果一个div之前的border是1px,padding是3px,更改为border为0,padding为4px,那么会引起哪个?为什么?浏览器的变化会引起回流,是所有的元素都会回流吗? 6.函数的柯里化问

2017-12-19 11:15:13 258

原创 background颜色填充范围

一直整不明白background设置颜色时到底填充到盒子模型的哪个部分,所以做了个实验,如下所示 Title div{ height: 100px; width: 100px; border: 10px solid #0ff; padding: 50px; margin: 50px; backg

2017-12-19 10:36:55 1850

原创 前端笔试题的小结(1)

1.rem和em的区别? 2.不定宽高的div的水平垂直居中? 3.关于margin的重叠问题? .a{ background:#ff0000; } .b{ background:#00ff00; margin:10px 0; } .c{ height:10px; margin:10px 0; background:#0000f

2017-12-19 09:33:18 293

转载 js的6道基础题(笔试常考题)

转载:http://www.bubuko.com/infodetail-20477.html 题目一:找出数字数组中最大的元素 var arr=[0,1,2,3,4,5,6,7,8,9]; console.log(Math.max.apply(null,arr)) 题目二:转化一个数字数组为function数组(每个function都弹出相应的数字) for循环闭包的问题 v

2017-12-17 16:38:53 1900

转载 js调试的5个技巧

转载:http://www.jb51.net/article/47812.htm 1. debugger; 我以前也说过,你可以在JavaScript代码中加入一句debugger;来手工造成一个断点效果。 需要带有条件的断点吗?你只需要用if语句包围它: if (somethingHappens) { debugger; } 2. 设置在DOM node发生变化时触

2017-12-17 10:22:59 293

原创 关于Ajax

Ajax的核心对象是:XMLHttpRequest对象。 创建XMLHttpRequest对象: function getXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject('Microsoft.X

2017-12-15 15:44:37 202

原创 用apply实现bind

这是秋招过程中的一道笔试题,让用apply实现bind。 bind()也是用来实现上下文绑定。bind()和call与apply不同。bind是新创建一个函数,然后把它的上下文绑定到bind()括号中的参数上,然后将它返回。 所以,bind后函数不会执行,而只是返回一个改变了上下文的函数副本,而call和apply是直接执行函数。 bind()的用法 var button =documen

2017-12-14 10:57:52 1394

转载 this的四种用法

转载:https://github.com/EdgarLovesProgramming/FE-Learning javascript中this的指向有4种情况: 1.作为普通函数调用: this指向全局对象 2.作为对象方法调用: this指向该对象 3.构造器调用: this指向构造器返回的对象 4.Function.prototype.call 和 Function.prototyp

2017-12-14 10:51:28 483

原创 js的内存泄露

在我整个秋招面试的过程中,这个问题被问的次数能排前三。第一次被问的时候回答的不完整,不过面试官很好,有一步步的提醒我,再次感谢可爱的面试官。 首先是内存泄露:可以理解为应用程序不再需要占用内存的时候,由于某些原因,内存没有被操作系统或可用内存池回收。 然后是4中常见的内存泄露: 1. 意外导致的全局变量:未定义的变量会变成全局变量 2. 闭包:闭包创建后作用域是共享的,外层函数内创建的变量

2017-12-13 21:51:35 254

原创 h5移动开发viewport详解

转载:http://www.chinaz.com/web/2015/1110/468774.shtml 转载:http://www.cnblogs.com/2050/p/3877280.html

2017-12-12 17:22:01 411

原创 http状态码

整理面试中经常被问到的状态码,首先要知道以1,2,3,4,5开头分别表示什么意思。     1XX     Informational     信息性状态码,表示接受的请求正在处理     2XX     Success             成功状态码,表示请求正常处理完毕     3XX     Redirection         重定向状态码,表示需要客户端需要进行附加操作

2017-12-12 16:21:39 271

转载 web语义化及其好处

Web语义化是指使用语义恰当的标签,使页面有良好的结构,页面元素有含义,能够让人和搜索引擎都容易理解。如果可以在合适的位置使用恰当的标签,那么写出来的页面语义明确,结构清晰,搜索引擎也可以认出哪些是页面重要内容,予以较高的权值。 web语义化的好处 1. 去掉或者丢失样式的时候能够让页面呈现出清晰的结构 2. 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签

2017-12-12 13:39:47 1901

转载 cookie机制和session机制及cookie和session的区别

转载:https://github.com/EdgarLovesProgramming/FE-Learning cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。网络服务器用HTTP头向客户端发送cookies,在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些cookies 。具体来说c

2017-12-11 22:01:57 295

转载 浏览器工作原理

转:http://www.cnblogs.com/cnwebdeveloper/articles/2234423.html 认为需要自己理解记住的我复制粘贴在下面了,方便复习: 浏览器的主要功能 浏览器的主要功能是将用户选择得web资源呈现出来,它需要从服务器请求资源,并将其显示在浏览器窗口中,资源的格式通常是HTML,也包括PDF、image及其他格式。用户用URI(Uni

2017-12-11 16:43:34 345

转载 将arguments转换成数组的方法

转载:https://www.cnblogs.com/AliceX-J/p/5400568.html 将arguments转换成数组的方法 将函数里的arguments,转换成一个真正的数组的方法,arguments是个类数组,除了有实参所组成的类似数组以外,还有自己的属性,如callee,arguments.callee就是当前正在执行的这个函数的引用,它只在函数执行

2017-12-11 16:01:55 603

原创 数值转换——Number()、parseInt()和parseFloat()

Number()函数的转换规则: 1.如果是Boolean值,true和false分别转换为1和0。 2.如果是数字,只是简单的输入输出。 3.如果是null值,返回0。 4.如果是undefined,返回NaN。 5.如果是字符串,遵循以下规则:    5.1  如果字符串中只包含数字,则转换为十进制;(e.g. “123”——123,“011”——11)    5.2  如果字符

2017-12-11 14:26:57 312

原创 关于NaN的问题整理

typeof NaN; //number 任何涉及NaN的操作都会返回NaN; NaN与任何值都不相等,包括NaN本身。 NaN==NaN; //false NaN===NaN; //false 判断NaN的函数:isNaN();isNaN()也可以适用于对象,在基于对象调用isNaN()函数时,首先调用对象的valueOf()方法,然后确定该方法返回的值是否可以转换成数值,如果不能,则

2017-12-11 13:48:49 496

原创 script元素的位置及defer、async属性

传统上,script元素应该放在页面的head元素中,但这意味着head元素中的js文件全部下载、解析和执行完成之后,才会开始呈现页面的内容,导致浏览器在呈现页面的时候出现延迟,所以,一般都把JavaScript文件放在body元素中页面内容的后面,即 ........ 备注:css文件加载不会阻塞DOM树解析,但是会阻塞DOM树渲染。 关于css文件和JavaScript文件的引入

2017-12-11 13:01:07 307

原创 闭包的特点和判断闭包的执行结果

全局变量和局部变量都有缺点,全局变量容易造成全局污染,而局部变量则无法共享,不能长久保存,为了使变量既可以共享,长久保存,又不会全局污染,可以使用闭包。 闭包的三个特点是: 1.定义外层函数,封装被保护的局部变量; 2.定义内层函数,执行对外层函数局部变量的操作; 3.外层函数返回内层函数的对象;   并且外层函数被调用,结果被保存在全局变量中。 何时使用闭包?——既反复使用局部变量,

2017-12-11 10:55:20 594

空空如也

空空如也

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

TA关注的人

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