您的位置:首页 > 其它

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

2019-10-18 18:09 1496 查看

课程目标

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

日常学习的总结,主要是为了自己以后看,当然大家有什么好的建议,欢迎评论留言。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: