ES6 1

ES6

一、严格模式

进入ES6的严格模式的方式:

<script type="module></script>//通过type
<script> "use strict"</sccript>//通过字符串

ES6中一些注意事项:

  1. 变量必须先声明后使用,声明方式为let和var。
  2. 严格模式下,this发生改变
var a=3;
        function fn(){
            // var a=4;
            console.log(this);//普通函数中不能使用this,this不是window而是undefined, 
            console.log(this.a+a);
        }

setTimeout(function(){
            console.log(this);//回调函数中的this指向window
        },500)
  1. 函数的参数不能有同名属性
function fn(a,a){conlost.log(a);}
		fn(3,5);//普通模式下输出5,严格模式下报错
  1. 严格模式下,with语句报错,禁止使用
with(div.style){
                width="50px";
                height="50px";
                backgroundColor="red";
            }
  1. 只读属性修改报错str.length=3;
  2. 不能使用八进制
  3. 不能删除不可删除属性delete arr.length;
  4. eval不能被重新赋值且外部内容引用不到eval内部
for(var i=1;i<6;i++){
                 eval("obj"+i).a=i;
                 //实现var obj1={a:1};var obj2={a:2};....
            }//将字符串反射为变量,且该变量必须存在于栈中
  1. eval和arguments不能被重新赋值
    不能使用arguments.callee 和arguments.callee.caller
    这两个一般用于匿名函数,所以减少匿名函数的使用
  2. 不能使用fn.caller和fn.arguments获取函数调用的堆栈
  3. 增加的保留字

二、let和const

let

var和let都是定义变量。

  1. let定义变量,不再作为window的属性使用。
let a=3;
this.a;window.a;//不存在
  1. let定义的变量只存在于{}内
if(true){
            let i=3;
            i++;
        }
        console.log(i);//报错
  1. let 先定义后使用,否则报错
 let a=3;
 function fn(){
                console.log(a);//不能在定义之前使用
                let a=4;
              }
  1. let更突出作用域范围,只要有{}的内部的let定义都仅限于{}内部的局部变量。

const

  1. 常量的目的是不允许修改这个内容值,第一次被定义和被锁定写入
  2. 常量名是大写加_const OBJ_A={a:1,b:2};
  3. 尽量不要使用常量定义引用类型,因为引用地址会改变

三、箭头函数

箭头函数的使用:

var fn=(a,b)=>{return a+b;}

等同于

var fn=function(a,b){
            return a+b;
        }
  1. 当参数只有一个时,箭头函数的()可以省略,当没有参数或者多个参数时,必须使用()

var fn=a=>{
            a+=5;
            return a;
        }

var fn=()=>{
            console.log("aaa");
        }
  1. 如果箭头函数内语句只有一句,并且是return时,return和{}可以省略。多条语句不可省略。
var fn=(a,b)=> a+b;

3.当回调函数使用箭头函数时,函数内部的this仍然指向函数外部this,不因回调改变this指向。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值