谈谈ECMAscript

今天看到ECMAscript6 就其特点来说说我对它的看法(无外乎语法和使用规范方面来说

都知道 js作为一门一开始用于浏览器的脚本语言,容错性很好。所以有时候代码写得再丑再乱七八糟,也可以运行的。而”use strict”开启严格模式以后,一些js糟糕的特性都会被禁用,比如不能用with,也不能在意外的情况下给全局变量赋值。严格模式下的eval函数的行为和非严格模式的也不相同。

`

下面是总结的注意点
//1.“use strict”

        //2.全局变量显式声明 在正常模式中,如果一个变量没有声明就赋值,默认是全局变量。严格模式禁止这种用法,全局变量必须显式声明。
        //3.增强的安全措施  禁止this关键字指向全局对象   不允许使用 delete
        //4. 严格模式下不允许函数的参数重名
        //5.es6中加入块级作用域的概念  使用let 声明的是块级作用域里面的变量,出了大块号其它地方就不用啦
        //6.es6中  用let 声明的变量不会提前 ,如果找到没赋值就是 undefined  找不到就是  not a define  没定义  ,并且let声明的变量名不允许重复定义  
        //const 声明一个常量  不允许改变
        //es6 中允许给函数的参数赋初值;
        //es6 中set集合数组的应用   特点是数组元素 不能重复  ,例子 是数组的去重;
        //es6 面向对象的改进是  引入 class Persson  {
            /* constructor(name,age){
                 this.name=name,
                 this.age=age
                   }*/


        //es6 继承  class Student extends person{                
                  /* constructor(name,age,no){
                        super(name,age);//super 继承父类
                        this.no=no;

                   }
        }*/
    //7.for( var i of arr) {
           //遍历数组不能遍历对象
    //}
    /*var arr=[1,2,4,5,6,8,9]
      for(var i of arr ){
          alert(i)
      }  */ 
      //8 介绍一款编辑器  babel 能把es6的代码转化为es5 的代码
      `

补充的内容:

//f1.js ‘use strice’; //整个js文件都是严格模式下执行的

var n = 1; var foo = function(){…}; //… var n = 1; var foo =
function(){
‘use strict’;
//在foo函数内是严格模式
//some code… } 严格模式下, delete运算符后跟随非法标识符(即delete 不存在的标识符),会抛出语法错误; 非严格模式下,会静默失败并返回false 严格模式中,对象直接量中定义同名属性会抛出语法错误;
非严格模式不会报错 严格模式中,函数形参存在同名的,抛出错误; 非严格模式不会 严格模式不允许八进制整数直接量(如:023)
严格模式中,arguments对象是传入函数内实参列表的静态副本;非严格模式下,arguments对象里的元素和对应的实参是指向同一个值的引用
严格模式中 eval和arguments当做关键字,它们不能被赋值和用作变量声明
严格模式会限制对调用栈的检测能力,访问arguments.callee.caller会抛出异常 严格模式
变量必须先声明,直接给变量赋值,不会隐式创建全局变量,不能用with, 严格模式中 call apply传入null
undefined保持原样不被转换为window

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值