zoukankan      html  css  js  c++  java
  • es6学习笔记(四)

    一. 字符串扩展

    1. unicode表示的改进

      es5支持unicode表示字符,限于u0000--uFFFF之间的字符,超出范围的字符用双字节形式表达

    console.log("u0061"); // "a"
    console.log("u00611"); // "a1",即u0061 + 1

      es6将码点放进大括号

    console.log('u{00611}'); //不再是"a1";
    console.log("u{61}u{62}u{63}");  //abc

    2. 字符串遍历(for...of)

    for(let code of "foo"){
        console.log(code);
        // f
        // o
        // o
    }

    3. 字符串查找includes、startsWith、endsWith

    es5几乎只有indexOf方法来判断一个字符串是否包含在另一个字符串中。

    es6新增这三个方法:

    includes:是否包含某个字符串。

    startsWith:是否在头部。

    endsWith:是否在尾部。

    第一个参数是string,第二个参数n表示开始搜索的位置(endsWith针对前n个字符)

    4. 字符串重复repeat

     将原字符串重复n次,返回新字符串。

    二. 正则的扩展

    es5中正则表达式对象有一下两种声明方式:

    var regex = new RegExp('[a-z]', 'i');
    // 等价于
    var regex = /[a-z]/i;

    es6允许第一个参数为正则表达式

    var reg = new RegExp(/[a-z]/, 'i');

    1. 能用正则表达式做参数的字符串方法

    var str = "abc";
    console.log(str.match(/[a-z]/g));// 检索指定的值,返回数组
    console.log(str.replace(/[a]/,"b")); //替换字符
    console.log(str.search(/[b]/));  //检索指定字符串,返回索引值
    console.log(str.split(/[]/)); //分割字符串,返回数组

    2. 属性

    es5 :source属性获取正则表达式正文

    es6 :sticky属性是否使用了y修饰符、flags属性获取正则表达式修饰符

    三. 数值的扩展

    1. 进制表现法

    二进制:0b111110111 === 503

    八进制:0o767 === 503

    十进制:Number("0b111110111") // 503

    2. Number对象的方法与属性

      Number.isFinite() :是否有限

      Number.isNaN():是否为NaN

      Number.parseInt() 全局方法移到了Number对象上

      Number.parseFloat()  全局方法移到了Number对象上

      Number.isInteger() 是否为整数

      Number.EPSILON 常数,一个误差允许范围

      Number.MAX_SAFE_INTEGER / Number.MIN_SAFE_INTEGER:最大安全整数 / 最小安全整数

      Number.isSafeInteger()  :是否为安全整数

    3. Math对象

      Math.trunc():去除小数点部分,返回整数

      Math.sign():判断正数、负数、零。正数返回+1、负数返回-1、0返回+0、-0返回-0、其它返回NaN

      Math.cbrt():计算立方根

      Math.clz32():返回数值32位二进制前导0的个数

      Math.hypot():所有参数平方和的平方根(勾股定理的长边)

      三角函数方法

    四. 数组的扩展

    1. Array.form:将类似数组的对象和可遍历的对象转化为数组。

    2. Array.of:将一组值转化为数组

    3. 实例方法Array.prototype.copyWithin(target,start,end):数组成员复制并覆盖

    4. 实例方法Array.prototype.find(callback) / Array.prototype.findIndex(callback) :数组成员依次执行回调函数

    5. 实例方法Array.prototype.fill():填充数组

    6. 实例方法entries()(键值对遍历)、keys()(键名遍历)、values()(键值遍历)

    7.实例方法Array.prototype.includes():是否包含给定值

     五. 函数的扩展

    1. 参数可以设置默认值,参数已默认声明,所以用let、const不能重复声明。

    2. length属性返回没有设置默认值的参数个数,指定默认值后,length

  • 相关阅读:
    WorkerMan中php后端及时推送消息给客户端
    解析Laravel框架下的Contracts契约
    如何在 Laravel 中使用 Slack 进行异常通知
    用户异常与模拟异常的派发
    [IDA] 将变量索引进行计算
    [反汇编]栈帧中函数的参数传入位置
    用户模拟异常的记录
    [反汇编]函数开始部分利用mov ebx,esp找到返回地址(_KTRAP_FRAME结构)
    [反汇编] 获取上一个栈帧的ebp
    CPU异常分析(以trap00为例)
  • 原文地址:https://www.cnblogs.com/zhaoliner/p/6145814.html
Copyright © 2011-2022 走看看