学习记录(ECMAScript 6.0入门_day01重点总结)

课程目标

一、ECMAScript6和JAVAScript关系html

ES6是JAVAScript的规格,JavaScript是ES6的一种实现。es6

变量声明:

局部变量:letajax

它的用法相似于var,可是所声明的变量,只在let命令所在的代码块内有效。编程

全局变量:var数组

常量声明:

常量:const异步

const声明一个只读的常量。一旦声明,常量的值就不能改变异步编程

四、ES6定义变量的特色函数

描述:学习

变量提高:在区域内部定义的变量,在区域外部可使用,即变量能够在声明以前使用,值为undefinedthis

暂时性死区:只要块级做用域内存在let命令,它所在的变量就绑定了这个区域;再也不受外部的影响。

五、解构的基本语法

ES6容许按照必定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构

var{变量,变量2}=对象;

例:var user={

             username:"jack",

             password:"1234",

             age:"18"

}
jack---18

六、函数参数名默认基本语法是?

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

七、箭头函数完整语法

var 函数名=(参数1,参数2,...)=>{

}

八、箭头函数this指向?

this老是指向外层调用者对象。

九、模版字符串的基本语法?

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>`

十、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


平常学习的总结,主要是为了本身之后看,固然你们有什么好的建议,欢迎评论留言。

相关文章
相关标签/搜索