ES6相关

let声明变量

1,不能重复声明  报错
let a=10;
let a=20; //报错
2,不存在预解析  不存在声明提前
console.log(b);  //报错
let b = 20;
3,增加块级作用域  {}
{
	let c=20;
	console.log(c);  //20
}
console.log(c);//报错


const 声明常量

1,声明的时候就必须赋值 
	const A;  //报错
	A=10;
2,一旦赋值之后 值不能改变
	const A = 10;
	A = 20; //报错
注意:常量名字 一般大写(全部大写),区别于变量 

箭头函数

es6 新增的一种函数的简写形式

注意:只是函数的表达式 (函数的值)

function fn(a,b){
    return a+b;
}
alert(fn(2,3)); */

/*  var fn = (a,b)=>a+b;
alert(fn(2,3)); */

1, 函数 无参数  需要加() 占位

let fn = ()=>alert(1);
fn(); 

2, 函数只有一个参数  参数可以加括号也可以不加
 let fn = a=>alert(a);
 fn(3);
 let fn = (a)=>alert(a);
 fn(3); 


3, 函数有多个参数 一定 要加括号

let fn = (a,b)=>alert(a+b);
fn(3,4);


4,如果箭头函数不换行  如果不换行。,默认return 那一行代码

let fn = (a,b)=>a+b;
alert(fn(3,4)); 
5, 如果函数有多行代码  这个时候不会自动return,如果需要有返回值,需要你手动return 且需要{}包裹多行代码

let fn = (a,b)=>{
    console.log(a);
    console.log(b);
    return a+b;
}
console.log(fn(3,4));

6,箭头函数中的this关键字
箭头函数没有this指向,this取决于他所在的上下文(环境)
 console.log(this);  //window
let fn = ()=>console.log(this); //window
fn();

document.onclick = function(){
    let fn = ()=>{
        console.log(this); //document
    }
    fn();
}

函数参数默认值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
    <script>
       /*  function fn(a){
            // a=a||10;
            a = a==undefined?10:a;
            alert(a);
        }
        fn(0); */

      /*   function fn(a=10){
            alert(a);
        }
        fn();
        fn(2); */
        // 箭头函数也支持

        var fn = (a=10)=>alert(a);
        fn();
        fn(2);
    </script>

</body>
</html>

解构赋值 声明变量

解析结构 然后 赋值

1,数组的结构赋值

//数组的解构赋值  按照先后顺序来的
 var arr=[2,3];
 // var [a,b] = [2,3];
 var [a,b] = arr;
 alert(a); 2
 alert(b); 3
 // 如何交换两个变量的值
 var a=10;
 var b=20;
 [a,b]=[b,a];
 alert(a);
 alert(b);

2,对象的解构赋值

 // 对象的解构赋值  是按照  属性名 key 跟顺序无关
var {a,b}={a:10,b:20};
alert(a); 10
alert(b); 20

var {a,b}={b:20,a:10};
alert(a);10
alert(b);20

模板字符串

es新增 `` 表示字符串
1,字符串是可以换行的  默认" ''是不能换行的
2,在``字符串中可以是 ${变量},这个js会解析成变量,而不是字符串,不需要拼接可以直接在字符串中写变量
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
    <script>
        /*
        模板字符串解决问题:字符串拼接
        ${变量} 写在字符串中,js不会解析成字符串,当做变量来解析
        这个时候 字符串的 引号 要变成   ``
        `` 中的字符串是可以换行的
        默认的 "" ''不可以换行
        */ 
        var name = 'conner.li';
        alert("我的名字是"+name+"很高兴认识大家");

        alert( `我的名字是${name}很高兴认识大家`); 

        var str = "\
            <div>\
                <p>我是p标签</p>\
            </div>\
        ";
        document.body.innerHTML = str; 
        
        var str = `
            <div>
                <p>我是p标签</p>
            </div>
        `;
        document.body.innerHTML=str;
    </script>

</body>
</html>

展开运算符 …

功能:可以将 某些特定数据类型 展开 如 数组、字符串、对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值