【ES6】var、const和箭头函数

本文深入探讨了JavaScript中的let和const关键字,强调它们与var的区别,如块级作用域、变量提升和不可重复声明。let不允许变量提升,而const用于声明常量,其值不可更改。此外,还介绍了箭头函数的特点,包括简洁的语法和this指向的特殊性,以及它如何影响函数中的this值。
摘要由CSDN通过智能技术生成

一、let(声明变量)

        特征:

                1.变量不能重复声明

let lxy = "fff";    
var lxy = red;      //控制台会报错

                2.块级作用域

                        以块为作用域,而 var 则表示全局有效

var a=1;
if(a>0){
	let a =3;
  console.log(a);  //此处输出的是 let定义的a
}
console.log(a);  //此处输出的是var的a
------------------------------------------------------------------
for(let i=0;i<=7;i++){
	console.log(i);   //输出1-7  没有什么疑问
}
console.log(i);  //此处会报错  因为上面的那个i是在for那个块中定义的,而这个i在全局中,但全局中并没有i所以会报错

                3.不存在变量提升

                        不允许在变量声明之前使用该变量,会报错

console.log(aa);    //输出undefined   因为var定义的变量会预解析 就是告诉页面中有这么个东西,但具体是多少还不知道
var aa = "lxy";
------------------------------------------------------------------------------
console.log(aa);    //报错 let定义的东西不会预解析,所以程序会一步一步往下走,当要输出aa时发现已解析的东西中没有aa 所以直接报错
let aa = "lxy";

                4.不影响作用域链

二、const(声明常量)

        注意事项:

                1.常量一定要赋初始值

                2.常量名一般都是大写字母

                3.常量的值不能修改

                4.块级作用域

三、箭头函数

var fn = function(){};
	    ||
var fn = ()=>{};

//当函数中仅有一条语句,并且使用return返回该语句时,就可以省略{}和retuen
(a,b)=>{									
	rteurn a+b       ===>		(a,b)=>a+b;
}

//当函数的参数只有一个时,可以省略()
//但如果函数的参数没有或者有一个以上,必须加()
(a)=>a+10;   ===>	  a=>a+10;

        箭头函数改变this指向

                只需要记住 箭头函数中的this 始终永远指向箭头函数在声明时所在作用域下的this

var a=1;
function fn(){
  var f=()=>{
    console.log(this);
  }
}
fn();
//箭头函数在声明时所在作用域下的this指向的是window,所以箭头函数中的this也指向windows

var o={
	a:1,
  b:function(){
  	var fn=()=>{
    	consloe.log(this);
    }
    fn();
  },
  c:3
}
o.b();
//箭头函数在声明时所在作用域下的this指向的是o,所以箭头函数中的this也指向o

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值