-
ES6 的扩展(spread)与剩余(rest)运算
扩展语法 允许在需要多个参数(用于函数调用)或多个元素(用于数组文本)或多个变量(用于解构分配)的位置扩展表达式. 剩余参数(rest parameter)允许长度不确定的实参表示为一个数组。 扩展 - spread 运算符是三个点… 。它好比 剩余 - rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。扩展语法 - spread直接上代码:consol
珠峰培训
2017-04-18
-
javascript几种变量交换方式及性能分析
前言“两个变量之间的值得交换”,这是一个经典的话题,现在也有了很多的成熟解决方案,本文主要是列举几种常用的方案,进行大量计算并分析对比。起由最近做某个项目时,其中有一个需求是交换数组中的两个元素。当时使用的方法是:arr = [item0,item1,...,itemN];//最初使用这段代码来交换第0个和第K(k<N)个元素arr[0] = ar
珠峰培训
2017-04-08
-
javascript柯理化函数思想
【柯里化函数思想(JS高级编程技巧)】柯里化的定义 柯里化通常也称部分求值,其含义是给函数分步传递参数,每次传递参数后,部分应用参数,并返回一个更具体的函数接受剩下的参数,中间可嵌套多层这样的接受部分参数函数,逐步缩小函数的适用范围,逐步求解,直至返回最后结果。一个通用的柯里化函数var curring = function(fn){
珠峰培训
2017-04-02
-
javascript策略模式
生活中的策略模式:比如出去旅游,到达目的地,有很多可选的方法,汽车,火车,飞机等.策略模式的定义: 定义一系列的算法,并进行封装,把算法的实现(逻辑部分)和算法的使用分离开来一个策略模式至少包含这两部分组成: 策略类:里面封装了具体的算法,也就是逻辑处理部分. 环境类:负责对外接受客户的请求,把请求委托给某一策略
珠峰培训
2017-03-30
-
javascript事件基础学习笔记
5.1.1 事件基础1. 鼠标事件对象:MouseEvent 产生的位置:MouseEvent在绑定事件的时候,产生在绑定事件对应的那个函数中,并且可以将鼠标事件对象作为参数传递给别人;var div1 = document.getElementById("div1");div1.onclick = fn;function fn(e){ console.log(e);//MouseEvent对象 foo(e);}function foo(
珠峰培训
2017-03-27
-
ES6的yield是如何执行接受参数的
我们先回顾一下这个经常被用来演示yield语法的函数例子function* gen () { for (let i = 0; i < 5; i++) { yield i }}const g = gen();g.next() // {value: 0, done:false}g.next() // {value: 1, done:false}g.next() // {value: 2, done:false}g.next() // {value: 3, don
珠峰培训
2017-03-25
-
JS模块(module)、加载(load)与捆绑(bundle)简介
JS模块简介js模块化,简单说就是将系统或者功能分隔成单独的、互不影响的代码片段,经过严格定义接口,使各模块间互不影响,且可以为其他所用。 常见的模块化有,C中的include (.h)文件、java中的import等。为什么JS需要模块很显然,没有模块我们也可以实现同样的功能,为什么我们还要使用模块来写js代码呢?下面几点是模块化给我们带来的一
珠峰培训
2017-03-23
-
ES6 中的模式匹配和默认参数
ES6 中,引入了其他很多语言都具备的模式匹配和默认参数语法糖,使得代码简洁了不少。但是使用的时候还是有些细节需要注意。模式匹配原理模式匹配的种类具体来说,有三种类型的模式匹配:直接赋值let a = 1;对象模式let {name, age: age} = {name: 'yibuyisheng', age: 25};数组模式let [a, b] = [1, 2];模式匹配的过程直接赋值:x
珠峰培训
2017-03-14
-
ES6(ECMAScript 6)箭头函数详解
基本用法ES6允许使用“箭头”(=>)定义函数。var f = v => v;上面的箭头函数等同于:var f = function(v) {
return v;
};如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。var f = () => 5;
// 等同于
var f = function () { return 5 };var sum = (num1, num2) => num1 + num珠峰培训
2017-03-12
-
彻底掌握this,call,apply
Function.prototype.call 格式:fx.call( thisArg [,arg1,arg2,… ] );call的传参个数不限,第一个数表示调用函数(fx)函数体内this的指向.从第二个参数开始依次按序传入函数.var age = 40;var xiaoMing = { age:30};var xiaoLi = { age: 20};var getAge = function(){ console.log(
珠峰培训
2017-03-10
-
ES6新特性学习
变量定义的新方式:let/ constlet 特性: 不允许重复声明 没有变量提升(预解析) 块级作用域(一对 {} 包括的区域称为一个代码块,let 声明的变量只在该代码块起作用)例子1 :简单的打印数据使用 var:for(var i = 0; i<10 ; i++ ){ setTimeout(()=>console.log(i)) // 执行10次,全都打印 10}使用 let:for(let i = 0; i<10 ; i
珠峰培训
2017-03-08
-
javascript非严格模式下this的用法
this的用法========周末班:王艺霏1. 绑定事件函数中的this只有当事件被触发的时刻,才知道this是谁,谁(DOM元素)触发该事件,谁就是该事件函数中的this。 例:var div1 = document.getElementById('div1');div1.onclick = function() { console.log(this); //当该事件被触发的时候,该this是div1} 2. 函数中的thi
珠峰培训
2017-03-05
-
ECMAScript 2015 (ES6) 概览
Sublime Text 中运行 ES6 安装最新版的 node 配置新的 build 系统 1.打开 Tools -> Build System -> New Build System… 2.编辑如下:{ “cmd”: [“/usr/local/bin/node”, &ld
珠峰培训
2017-03-01
-
前端热门JavaScript 框架和库
前端热门JavaScript 框架和库JavaScript 框架和库可以说是开源项目中最庞大也是最累的类目了,目前在github 上这一类的项目是最多的,并且几乎每隔一段时间就会出现一个新的项目席卷网络社区,虽然这样推动了创新的发展,但不得不说苦了前端的开发者们。 这篇文章主要描述现今流行的一些 Javascript web 前端框架,库以及它们的适用场
珠峰培训
2017-02-27
-
jQuery中的ready和load事件
使用HTTPS正在变的越来越普遍,因此我们应该知道怎么在Node.js程序中实现SSL/TSL——不论是为了访问HTTPS资源还是为了提供加密的资源。HTTPS到底是什么意思呢?它暗示了什么?有什么限制和约束?我们将试着为所有的这些问题找到答案。另外,我们不应该仅仅通过提供HTTPS来保护我们的客户端,而且我们也应该严格要求来自服务
珠峰培训
2017-02-23
-
jQuery回调对象使用方法
jQuery回调对象jQuery向开发者提供了外部接口调用,但是$.Callbacks()模块的开发目的是为了给内部$.ajax() 和 $.Deferred()模块提供统一的基本功能组件。它可以用来作为类似基础定义的新组件的功能。jQuery.Callbacks是jquery在1.7版本之后加入的,是从1.6版中的_Deferred对象中抽离的,主要用来进行函数队列的add、remove、fire
珠峰培训
2017-02-20
-
深入理解 ES6 的解构赋值
解构赋值(destructuring assignment)语法是一个 Javascript 表达式,这种语法能够更方便的提取出 Object 或者 Array 中的数据。这种语法可以在接受提取的数据的地方使用,比如一个表达式的左边。有明确的语法模式来告诉我们如何使用这种语法提取需要的数据值。Object 的解构解构 Object:const obj = { first: 'Jane', last: '
珠峰培训
2017-02-10
-
浅谈前端跨域的几种解决方式
搞大前端的,肯定都会遇到跨域问题的,虽然网上这方面的资料也很多,但我还是喜欢自己写一遍,自己理解过、总结过的东西才记得最深刻。同源策略JavaScript 的同源策略,是由Netscape提出的一个著名的安全策略,为了阻止A站的JS去操作别的网站的数据。你想啊,你现在打开了浏览器,在一个tab窗口中打开了银行网站,在另外一个tab窗口中打开了
珠峰培训
2017-02-08
-
前端冷知识集锦(一)
前端冷知识集锦(一)— 珠峰培训 / 孟倩HTML篇浏览器地址栏运行JavaScript代码这个很多人应该还是知道的,在浏览器地址栏可以直接运行JavaScript代码,做法是以 javascript: 开头后跟要执行的语句。比如: javascript:alert('hello from address bar :)');将以上代码贴到浏览器地址栏回车后alert正常执行,一个弹窗神现。需
珠峰培训
2017-01-21
-
JavaScript中AJAX基础知识汇总
客户端可以使用AJAX技术从服务器端获取到需要的数据,然后绑定在页面中显示,在前后端分离项目中,AJAX/JSONP是最主要的一种技术之一,本文将把AJAX的基础知识进行汇总...
珠峰培训
2017-01-20
-
快速掌握es6,让自己的前端更精彩
ES6环境搭建 npm init -y 项目初始化; 创建.gitignore 和 readme.md文件:touch .gitignore README.md 初始化package.json文件 npm install babel-cli babel-preset-es2015 –save-dev 在package.json的scripts中配置:”dev”:”babel src -d
珠峰培训
2017-01-17
-
开启es6学习之旅
es6介绍ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。但是大家也会想一个问题 ECMAScript和JavaScript是什么关系?ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现(另外的ECMAScri
珠峰培训
2017-01-15
-
JavaScript中通过JSONP跨域请求详解
前后端分离项目,前端需要从服务器端获取数据,然后做数据的绑定以及其它的数据交互;在同源请求下,使用AJAX进行操作,在非同源请求下,使用JSONP进行操作,这篇文章将给大家讲解JSONP的原理;
珠峰培训
2017-01-14
-
前端工程师简历怎么写?
其实前端工程师并不少,但很多时候合适的前端工程师难找。可能是由于程序员比较内向,前端工程师都没有把自己最厉害的那一面表现出来。今天我们来聊聊前端工程师的简历怎么写,希望能够对大家有帮助。
珠峰培训
2017-01-11
-
写给想成为前端工程师的同学们
前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、Java 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。从广义上来讲,所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。
珠峰培训
2017-01-11