es6 学习地址,阮一峰大神地址
这个学习就需要慢慢的去理解, 目前我还是按照
石川的t6课程走的 , 需要的伙伴可以看我 置顶首页
这个课程走的, 走吧,就相当于去布达拉宫朝圣了,
今天要复习的是 es6 , 只有不断的复习,才能更好的前行!
es6 知识有
1, let const
2, 结构赋值
3, promise
4, genertor
5, 匿名函数的写法, 这个和java 很像
我会一 一 的复习
1, let const
- 不能重复声明
- 有块级作用域
- const 不能重复赋值
最经典的例子:
<button >btn01</button>
<button >btn01</button>
<button >btn01</button>
<button >btn01</button>
<script type="text/javascript">
var oBtns = document.getElementsByTagName('button')
window.onload = function(){
for(var i = 0; i<oBtns.length;i++){
oBtns[i].onclick= function(){
alert(i)
}
}
}
</script>
以上按钮,直接点击就会弹出 5 这个数字,表明 es 中 var 变量没有 全局作用域
es5 修改为
<script type="text/javascript">
var oBtns = document.getElementsByTagName('button')
window.onload = function(){
for(var i = 0; i<oBtns.length;i++){
oBtns[i].index = i;
oBtns[i].onclick= function(){
alert(this.index)
}
}
}
</script>
这样就能保证点击哪个按钮就显示对应的 位置了
当然也可以修改为
<script type="text/javascript">
var oBtns = document.getElementsByTagName('button')
window.onload = function(){
for(var i = 0; i<oBtns.length;i++){
(function(i){
oBtns[i].onclick = function(){
console.log(i)
}
})(i)
}
}
</script>
上面的事匿名函数自调用的方式,说实话, 利用函数内的变量和 外部变量的区别
下面就真的到了es6 写法,是不是很轻松,有对比才有发现
<script type="text/javascript">
var oBtns = document.getElementsByTagName('button')
window.onload = function(){
for(let i = 0; i<oBtns.length;i++){
oBtns[i].onclick = function(){
alert(i)
}
}
}
</script>
行 let 复习完了, 下面就去复习结构赋值,顾名思义就是两边结构一致!
结构赋值
<script type="text/javascript">
let [a,b,c] = [20,30,24]
console.log(a,b,c )
let {b3,a2} = {b3:18,a2:'action'}
console.log(b3)
console.log(a2)
</script>
打印结果
以上是最 简单的解构赋值, 怎么样简单吧!
3 终于到了promise
我非常的开心,应为这个不错!
再讲 promise 之前,
我写的笔记随意性大, 大家要耐心吆,没啥, 因为js 本来就很琐碎!
不想java 那么方方正正
我刚学了一个方法啊,延迟执行
function show(msg){
console.log(msg)
}
window.onload = function(){
setTimeout(show,2000,'action')
}
当1 妙后,就会把调用show 方法,并且吧 'action' 传递给 msg ,并且打印出来
重点说下,就是 setTimeout 第三个参数,代表要执行函数的要传递的形参值!
*****************************************************************************************
这个promise 和generator 很重要,我换篇写