-
javascript中的promise异步编程详解
一直以来,JavaScript处理异步都是以callback的方式,在前端开发领域callback机制几乎深入人心,常见的callback队列代码如下:loadImg('a.jpg', function() { loadImg('b.jpg', function() { loadImg('c.jpg', function() { console.log(
珠峰培训
2017-11-24
-
ES6解构赋值详解
解构赋值(destructuring assignment)语法是一个 Javascript 表达式,这种语法能够更方便的提取出 Object 或者 Array 中的数据。这种语法可以在接受提取的数据的地方使用,比如一个表达式的左边。有明确的语法模式来告诉我们如何使用这种语法提取需要的数据值。Object 的解构解构 Object:const obj = { first: 'Jane', last: '
珠峰培训
2017-11-24
-
ES6中的Promise详解
Promise诞生的背景一谈到JavaScript的异步处理,大家肯定会立刻想到回调函数和事件。但是事件的特点是,如果你错过了它,再去监听,是得不到结果的,而回调存在以下问题:回调函数嵌套,导致代码不够直观,就是常说的 Callback Hell。 如果几个异步操作之间并没有前后顺序之分(例如不需要前一个请求的结果作为后一个请求的参数)时,同样需要等
珠峰培训
2017-11-24
-
javascript this关键字常见面试题
关于this,一般来说,谁调用了方法,该方法的this就指向谁,如:function foo(){ console.log(this.a)}var a = 3;var obj = { a: 2, foo: foo};obj.foo(); // 输出2,因为是obj调用的foo,所以foo的this指向了obj,而obj.a = 2如果存在多次调用,对象属性引用链只有上一层或者说最后一层在调用位置中起作用,如:function foo() {
珠峰培训
2017-11-24
-
前端常见算法面试题
判断回文(Palindromic Words)结果是,使用循环来判断,性能远高于数组方法。接下来,在其他一些例子中也能看到,借用数组方法,往往很耗性能。// Array methodsconst isPalindromicA = w => w === w.split('').reverse().join('');// while loopconst isPalindromicB = (w) => { let
珠峰培训
2017-11-24
-
MongoDB基本命令语法详解
一、MongoDB基本命令用法成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户 use :切换当前数据库,这和MS-SQL里面的意思一样
珠峰培训
2017-11-24
-
JavaScript中四种不同的属性检测方式比较
JavaScript中四种不同的属性检测方式比较1. 用in方法var o = {x:1};"x" in o; //true"y" in o; //false"toString" in o; //true,继承属性可以被检测到"toString" in Object.prototype; //true,不可枚举的属性可以被检测到2. hasOwnProperty()方法var o = {x:1}
珠峰培训
2017-11-24
-
深入理解CSS3 Flexbox
Flexbox 是一个 CSS3 的盒子模型 ( box model ),顾名思义它就是一个灵活的盒子 ( Flexible Box ),为什麽最近这个属性才红起来呢?最主要也是因为 CSS3 的规范终于普及 ( 或 IE 终于败亡 ),加上行动装置的发展促成了响应式布局兴起,自适应长宽弹性相当大的 Flexbox 就趁势而起了。第一步要来看 Flexbox 的盒子模型,根据 W3C 文章所
珠峰培训
2017-11-24
-
使用JavaScript实现下载文件
我们知道,下载文件是一个非常常见的需求,但由于浏览器的安全策略的限制,我们通常只能通过一个额外的页面,访问某个文件的 url 来实现下载功能,但是这种用户体验非常不好。 幸好,HTML 5 里面为 标签添加了一个 download 的属性,我们可以轻易的利用它来实现下载功能,再也不需要用以前的笨办法了。原理我们先看看 download 的使用方法:<
珠峰培训
2017-11-24
-
巧用background属性实现图片居中
想必大家都常被页面居中这个问题困扰吧,这里简单分享一下一个使用background样式属性来实现图片居中的新用法。很久以前本骚年常用image.onload()这样的方式获取图片大小再进行调整,得到图片原比例居中的效果,自从发现这个新用法,就跟长长的js代码说拜拜了。backgroundbackground简介background是CSS简写属性,用来集中设置各种背
珠峰培训
2017-11-24
-
巧用background属性实现图片居中
想必大家都常被页面居中这个问题困扰吧,这里简单分享一下一个使用background样式属性来实现图片居中的新用法。很久以前本骚年常用image.onload()这样的方式获取图片大小再进行调整,得到图片原比例居中的效果,自从发现这个新用法,就跟长长的js代码说拜拜了。backgroundbackground简介background是CSS简写属性,用来集中设置各种背
珠峰培训
2017-11-24
-
JavaScript的六种继承方式
继承是面向对象编程中又一非常重要的概念,JavaScript支持实现继承,不支持接口继承,实现继承主要依靠原型链来实现的原型链首先得要明白什么是原型链,在一篇文章看懂proto和prototype的关系及区别中讲得非常详细原型链继承基本思想就是让一个原型对象指向另一个类型的实例function SuperType() { this.property = true}SuperTyp
珠峰培训
2017-11-24
-
sass基本用法
1.sass介绍Sass 是一种比较流行的”CSS预处理器”, 是对 CSS 的扩展,让 CSS 语言更强大、优雅。 使得CSS像一门编程语言,编写起来更加高效,易于维护2. 安装(Ubuntu)Sass是Ruby语言写的,但是并不需要懂得Ruby,只需要安装Ruby即可安装Rubysudo apt-get updatesudo apt-get install ruby安装Sasssudo gem install sass编
珠峰培训
2017-11-24
-
19种JavaScript常用简写方法
1.三元操作符当想写if…else语句时,使用三元操作符来代替。1.const x = 20;2.let answer;3.if (x > 10) {4. answer = 'is greater';5.} else {6. answer = 'is lesser';7.}简写:1.const answer = x > 10 ? 'is greater' :
珠峰培训
2017-11-24
-
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
什么是 RegExp? RegExp 是正则表达式(Regular expression)的缩写,作用是对字符串执行模式匹配。 通常用于格式验证、正则替换、查找子串等 各种编程语言的正则表达式基本相同,不同的语言可能会有一些细小的差别 RegExp 语法1.// 直接实例化2.var reg = new RegExp(pattern [, flags]);3.// 隐式
珠峰培训
2017-11-24
-
正则表达式从基础到深入实战
什么是正则?正则就是一个规则,用来处理字符串的规则 1、正则匹配 编写一个规则,验证某个字符串是否符合这个规则,正则匹配使用的是 test 方法2、正则捕获 编写一个规则,在一个字符串中把符合规则的内容都获取到,正则捕获使用的方法:正则的exec方法、字符串中的split、replace、match等方法都支持正则var reg = /^$/; //=>两个斜杠
珠峰培训
2017-11-24
-
JS中的数据类型检测专题汇总
typeof用来检测数据类型的运算符 语法:typeof [value] 返回结果:首先是一个字符串,字符串中包含了我们需要检测的数据类型typeof 12 =>'number'typeof NaN =>'number'typeof '' =>'string' var flag=true;typeof flag =>'boolean'
珠峰培训
2017-11-24
-
关于JS中面向对象的理解
面向对象编程(OOP)它是一种编程思想(Object Oriented Programming),我们的编程或者学习其实是按照 类、实例 来完成的学习类的 继承、封装、多态封装把实现一个功能的代码封装到一个函数中(一个类中),以后再想实现这个功能,只需要执行函数方法即可,不需要再重复的编写代码低耦合,高内聚 减少页面中的冗余代码,提高代码的重复使用率多
珠峰培训
2017-11-24
-
css预处理
css预处理 css是标记语言,不是编程语言,所以不具备编程语言的特点(编程语言的特点:变量存储、判断和循环的逻辑操作、函数的封装继承和多态...),如果具备以上编程语言的特点,开发css的时候将会非常的方便 css预处理编译语言的宗旨就是把css变为编程语言来开发,提高开发效率,实现组件化的封装 lesssassstylus…之所以叫做预编译
珠峰培训
2017-11-24
-
JavaScript常用的操作语句
JS判断操作语句通过一系列的逻辑判断,来完成特定的事情if 、else if、else1.if(条件1){2. //=>条件1成立执行的操作3.}else if(条件2){4. //=>条件1不成立,条件2成立执行的操作5.}else if(条件3){6. //=>上面条件不成立,条件3成立执行的操作7.}8....9.else{10. //=>以上条件都不成立执行的操作11.}案例剖析1.var
珠峰培训
2017-11-24
-
JS中的 变量提升、作用域、闭包 核心原理解读
数据类型的操作原理基本数据类型1.var a=12;2.var b=a;3.b=13;4.console.log(a); //=>12直接在当前作用域中创建了基本数据类型的值(或者说基本类型值直接存储在当前作用域中),然后把这个值和变量关联起来(一个变量只能关联一个值,关联下一个值后和之前关联的值就没关系了),我们把关联这个操作叫做 变量赋值,基本数据类型是直接 按
珠峰培训
2017-11-24
-
模板引擎
1.ES6模板字符串ES6中:${JS代码}//ES6中需要两个过程 : //1.定义模板 var htmlStr=`<p>${1+2}</p>`; //2.手动将模板放到指定元素中 $(".box").html(htmlStr); 2.EJS模板//EJS 四步曲 //1.在HTML结构中定义容器 例如:<div id="box"></div>
珠峰培训
2017-11-24
-
数组基础精讲
数组的基础结构数组也是对象数据类型的 typeof [] ->'object'数组也有属性名,只不过属性名是数字,我们把数字属性名称之为它的索引:数组是以数字作为索引,索引从零开始,有一个length属性代表数组的长度类数组:类似于数组,但是不是数组 1、通过getElementsByTagName获取的元素集合是类数组 2、函数中的实参集合arguments也是类数
珠峰培训
2017-11-24
-
选择器
1.基本选择器: * # . 后代选择器 子代选择器 相邻弟弟(+) 所有弟弟(~) 组合选择器(,) 属性选择器 div[class]{只是用属性名 选择出含有这个属
珠峰培训
2017-11-24
-
珠峰培训JS整套学习大纲
1.免费课基础知识 1.页面组成部分 2.js的组成部分(BOM,DOM,ECMAScript) 3.js引入方式 4.js输出方式 alert(字符串,默认调用toString转为字符串) console.log/dir confirm(确定true,取消false) prompt(有输入框,返回值是你输入的内容) 5.变量 var/fun
珠峰培训
2017-11-24