11.ES5新增严格模式及ASCII码

一.ES5/String的新增

  • 什么是ES5,就是ECMAScript5
  • 我们都知道 js 是一个相对不很严谨的语言
  • 而且开发的时候,一些代码也不是很严格要求
  • 而严格模式就是对开发的时候写的一些内容做了要求
  • ES的版本更新,向下兼容,老版本并没有全部废弃,新版本只是在老版本的基础上新增

1.1严格模式(了解)

  • 1.严格模式:更严格的开发模式
  • 2.为什么有严格模式:因为js的代码规范非常不严格

1.2严格模式的意义是:

  • 1.消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
  • 2.消除代码运行的一些不安全之处,保证代码运行的安全;
  • 3.提高编译器效率,增加运行速度;
  • 4.为未来新版本的Javascript做好铺垫

1.3严格模式的开启方式

  • 在作用域开始的位置,加上一行字符串:“use strict”;
    • 局部严格:安全,但不方便,麻烦
    • 全局严格:不安全
    • 配合匿名函数: 利用父子作用域,本质是局部,但实现了全局的方便
    <script>
    	'use strtic'
    	// 下面代码书写就要按照严格模式来书写
    </script>
    

1.4严格模式开启之后的变更

  • 1.声明变量必须加关键字(var)
  • 2.不允许参数名重复
  • 3.没有明确隶属对象的函数中的this(执行了)指向undefined
  • 4.arguments的内容不会被形参的改变而影响
  • 5.arguments.callee被禁止使用
   "use strict";
    1.声明变量必须加关键字(var)
    a = 10;a = 20;console.log(a);
	
    2.不允许参数名重复
    function fn(a,b,b){
        console.log(a);
        console.log(b);
    }
    fn("hello","world",123)

    3.没有明确隶属对象的函数中的this(执行了)指向undefined
    function fn(){
        console.log(this);
    }
    fn();

    4.arguments的内容不会被形参的改变而影响
    function fn(a){
        a = 10;
        console.log(arguments[0]);
        console.log(a);
    }
    fn("hello")

    5.arguments.callee被禁止使用
    function fn(){
        // console.log(arguments);
        // console.log(arguments.length);
        // console.log(arguments.callee === fn);
        console.log(arguments.callee);
    }
    fn("a","b","124","hello")

    6.禁止使用
    var obj = {a:"hello",b:10,c:123}
    with(obj){
        console.log(a)
        console.log(b)
        console.log(c)
    }

    7.禁止进制的使用
    var a = 017;
    console.log(a);

二. ASCII 字符集(了解)

  • 我们都知道,计算机只能存储 0101010 这样的二进制数字
  • 那么我们的 a ~ z / A ~ Z / $ / @ /… 之类的内容也有由二进制数字组成的
  • 我们可以简单的理解为, a ~ z / A ~ Z / $ / @ /… 之类的内容都有一个自己的编号,然后在计算机存储的时候,是存储的这些编号,我们看的时候,也是通过这些编号在解析成我们要看到的内容给我们看到
  • 转换方法必须要会
    • 字符转U编码:要转换的字符.charCodeAt()
    • U编码转字符:String.fromCharCode(“U编码”)
    • 输入中文的范围:4e00 - 9fa5

unicode 编码

  • 我们看到了,ASCII 只有这 128 个字符的编码结构
  • 但是因为 ASCII 出现的比较早,而且是美国发明的,早起时候这些内容就够用了
  • 因为存储一些英文的内容,传递一些英文的文章什么的都够用了
  • 那么对于这个世界来说肯定是不够用的
  • 因为我们的汉字没有办法存储,包括一些其他国家的语言也没有办法存储
  • 所以就出现了 unicode 编码,也叫(万国码,统一码)
  • unicode 对照表就是一个和 ASCII 一样的对照表,只不过变得很大很大,因为存储的内容特别的多
  • 而且包含了世界上大部分国家的文字,所以我们的文字和字符现在在存储的时候,都是按照 unicode 编码转换成数字进行存储
  • 我们的 UTF-8 就是一种 8 位的unicode字符集
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值