参考文档:
http://es6.ruanyifeng.com/#docs/let
变量let和常量const:
let:用来声明变量,相当于var,,注意var有变量提升:
//变量提升
<script>
console.log(a);
var a = 10
</script>
作用域:只在let命令所在代码块内有效;
let不存在先使用后定义,必须要先定义后使用,否则报错;
在相同的作用域内不允许重复声明同一个变量;const:声明只读常量;
一旦声明,常量的值就不能被改变;
声明后必须第一时间初始化,不能留到以后赋值;
反引号使用:
<script>
document.getElementById("ul_list").innerHTML = `
<li>小青</li>
<li>小白</li>
<li>小蓝</li>
`;
let name= "hell";
console.log(`${name},world`)
</script>
基本语法:使用`${}`语法来表示;
函数拓展:
<script>
function func(x=1,...y) {
console.log(x);
console.log(y)
}
func(11,2,3,4,5)
</script>
----------
<script>
var arr = [11,22,33,44,55];
arr = arr.forEach(function (v,idx) {
console.log(v)
});
arr = arr.map(function (v,idx) {
return v+1
});
console.log(arr)
</script>
----------
var arr = [88,89,90,91];
#返回出现该数字的第一个索引
console.log(arr.indexOf(80))
#返回布尔值,判断是否包含
console.log(arr.includes(91))
----------
for(var i in arr){
// in处理的是下标
}
----------
for(var i of arr){
//of处理的是数值
}
----------
var arr = arr.filter(function (v,idx) {
#比对Python中的filter,就会发现新大陆~
return value > 50
})
"""
结果:
>x:11
>y:[2,3,4]
"""
变量的解构和Python中值的解压类似:
<script>
let obj = {
a:10,
b:20
};
let{a,b} = obj;
alert(a)
</script>
----------
<script>
let arr = [11,22,33];
let[a,b,c] = arr;
alert(b)
</script>
对象的拓展:
<script>
let username = "KINGKANG";
let obj = {
#代表变量username
username,
#缩写,省去:function
fun(){
alert(18)
}
};
obj.fun()
</script>
这些个和Python有点像奥!