ES5/ES6规范简介(新语法)
2019-09-26 本文已影响0人
磨陀货_
IDEA修改支持ES6语法
ES语法
新建包---HTML
全局变量
<body>
<script>
for(var i = 0; i<10; i++){
console.log(i);
}
console.log("嘿嘿"+ i);
</script>
</body>
页面F12
let块级变量(方法外获取不到。。相当于局部变量)
<body>
<script>
for(let i = 0; i<10; i++){
console.log(i);
}
console.log("嘿哈"+ i);
</script>
</body>
未捕获引用错误:未定义i
定义常量
解构表达式
数组解构
- 大概意思就是可以吧数组拆分。对应的赋值,不像以前数组要下标arr[0],arr[1]的那种
<script>
<!--前段好处就是不用向后端一样,分int。string。很方便-->
var arr = ["马岱",16,true];
const[a,b,c] = arr;
console.log(a,b,c);
</script>
<!--就算填进去两个,他是按照顺序装 -->
const[d,e] = arr;
console.log(d,e);
解构对象
<body>
<script>
let person={
"name":"司马昭",
"age":66
}
let{name,age}=person
console.log(name,age);
</script>
</body>
箭头函数
<body>
<script>
var add = function(){
console.log("add我被调用了");
}
var app =()=>{
console.log("app方法被调用")
}
add();
app();
</script>
</body>
- 在对象中定义函数:::新样子老样子
<body>
<script>
var person = {
name : "诸葛亮",
age : 22,
test : function(food){
console.log(this.name + "喜欢" + food)
},
}
person.test("小妹妹");
</script>
</body>
<body>
<script>
var person = {
name : "诸葛亮",
age : 22,
//老写法
test : function(food){
console.log(this.name + "喜欢" + food)
},
//新写法-----这里用this是获取不到name的,要用对象person
test2:food=>console.log(person.name + "依旧喜欢" + food),
//新写法-----这种简写就可以this
test3(food){console.log(this.name + "只要" + food)}
}
person.test("小妹妹");
person.test2("小妹妹");
person.test3("小妹妹");
</script>
</body>
结合使用
<body>
<script>
let student = {
name : "周瑜"
}
//旧骚方
function test(sos){
console.log(sos.name);
}
test(student);
//新骚方
var {name} = student;
var test2 = ({name})=>console.log(name);
test2(student);
</script>
</body>
Promise对象
- Promise是异步编程的一种解决方案。说简单点就是一个容器
<body>
<script>
// 成功回调
var success = (num)=>console.log("异步调用success"+success);
// 失败回调
var fail = (num)=>console.log("异步调用fail"+fail);
var promise = new Promise(function (a,b){
let number = Math.random();
if(number>=0.5){
a(number);
}else{
b(number);
}
});
promise.then(success).catch(fail);
</script>
</body>
- 效果就是(下面两个效果随机出现):
异步调用success(num)=>console.log("异步调用success"+success)
异步调用fail(num)=>console.log("异步调用fail"+fail)