学习记录(ECMAScript 6.0入门_day01重点总结)
课程目标
1、ECMAScript6和JAVAScript关系
ES6是JAVAScript的规格,JavaScript是ES6的一种实现。
变量声明:局部变量:let
它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
全局变量:var
常量声明:常量:const
const声明一个只读的常量。一旦声明,常量的值就不能改变
4、ES6定义变量的特点
描述:
变量提升:在区域内部定义的变量,在区域外部可以使用,即变量可以在声明之前使用,值为undefined
暂时性死区:只要块级作用域内存在let命令,它所在的变量就绑定了这个区域;不再受外部的影响。
5、解构的基本语法
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构
var{变量,变量2}=对象;
例:var user={ username:"jack", password:"1234", age:"18" } jack---18
6、函数参数名默认基本语法是?
function xx(a=默认值){ } //y参数设置默认值 function log(x, y = 'World') { console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello
7、箭头函数完整语法
var 函数名=(参数1,参数2,...)=>{ }
8、箭头函数this指向?
this总是指向外层调用者对象。
9、模版字符串的基本语法?
var str=`html任意内容`;
第一个用途,基本的字符串格式化。将表达式嵌入字符串中进行拼接。用${}来界定
const name'lux' console.log(`hello ${name}`)//hello lux
第二个用途,在ES5时我们通过反斜杠()来做多行字符串或者字符串一行行拼接。ES6反引号(``)直接搞定。
//es5 var msg="Hi \ man!" //es6 const template =`<div><span>hello world</span></div>`
10、Promise异步调用基本语法结构?
Promise是异步编程的一种解决方案,有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。
Promise完成ajax操作
... .then(res)=>{ }) .then(res)=>{ }) .catch(res)=>{ })
Promise问题场景
1)回调函数(把函数作为参数传递,就叫做回调函数)
简单说回调方法就是将一个方法func2作为参数传入另一个方法func1中,当func1执行到某一步或者满足某种条件的时候才执行传入的参数func2,例如下面的代码段:
//当参数a大于10且参数func2是一个方法时 执行func2 function func1(a,func2){ if(a>10 && typeof func2 == 'function'){ func2() } } func1(11,function(){ console.log('this is a callback') }) 运行结果: this is a callback 注意:func2回到了func1函数中function参数函数。
2)异步操作
JavaScript也充斥着异步操作——例如ajax。
var username; setTimeout(function(){ username='linkFly'; ),1000};//1s后执行 console.log(username);//输入undefined
一段代码异步执行,后续的代码却需要等待异步代码的结果,如果打印结果在异步代码之前执行,就会如上面的console.log(name)一样,输出undefined,这并不是我们想要的效果
Promise优雅的修正了异步代码,现在使用Promise重写setTimeout的示例:
var username2; new Promise(function(resolve){ setTimeout(resolve,1000); }).then(function(){ username2="jack"; console.info(username2);//1秒后展示 })
这段代码完成了和之前同样的工作。代码console.log(name)正确的输出了jack
日常学习的总结,主要是为了自己以后看,当然大家有什么好的建议,欢迎评论留言。
- ECMAScript 6学习总结(1)——ECMAScript 6入门简介
- Java学习总结记录(2)——JVM、JRE和JDK
- web开发新手入门学习 方法总结(一)
- python入门学习记录(win7+python3.6)
- 汇编学习总结记录
- 老男孩Linux运维第41期20170910开班第三周学习重点记录
- MyBatis学习总结(一)——MyBatis快速入门
- selenium 学习笔记 ---新手学习记录(2) 问题总结
- MyBatis学习总结(一)——MyBatis快速入门
- LESS 学习记录(简单入门)
- python学习总结一(快速入门)
- WPF学习总结和记录(四)Items控件下
- Entity Framework 学习总结之六:EntitySQL 介绍入门 .
- 使用Kotlin编写6.0权限检查框架学习总结
- phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识
- JSP的学习总结记录(1)
- JavaWeb开发入门学习总结(一)
- V-layout自我学习总结(自我记录)
- 学习总结之 Servlet入门知识 处理Request
- C++面试常见问题总结(四)(本人面试遇到的问题记录,作为学习和交流用)