• ES6_11_字符串、数值、数组、对象扩展


    字符串扩展:

    1. includes(str) : 判断是否包含指定的字符串
    2. startsWith(str) : 判断是否以指定字符串开头
    3. endsWith(str) : 判断是否以指定字符串结尾
    4. repeat(count) : 重复指定次数

    字符串扩展简单举例:

    //字符串的扩展
        let str = 'abcdefghijklmnttghij';
        console.log(str.includes('t'));//true
        console.log(str.includes('a'));//true
        console.log(str.startsWith('a'));//true
        console.log(str.endsWith('e'));//false
        console.log(str.repeat(5));//abcdefghijklmnttghijabcdefghijklmnttghijabcdefghijklmnttghijabcdefghijklmnttghijabcdefghijklmnttghij

    数值扩展:

    1. 二进制与八进制数值表示法: 二进制用0b, 八进制用0o
    2. Number.isFinite(i) : 判断是否是有限大的数
    3. Number.isNaN(i) : 判断是否是NaN
    4. Number.isInteger(i) : 判断是否是整数
    5. Number.parseInt(str) : 将字符串转换为对应的数值
    6. Math.trunc(i) : 直接去除小数部分

    数值扩展简单举例:

    //数值的扩展
        console.log(0b1010);// 10
        console.log(0o56);// 46
    
        console.log(Number.isFinite(Infinity));//true
    
        console.log(Number.isNaN(NaN));//false
    
        console.log(Number.isInteger(123.12));//false
        console.log(Number.isInteger(123.0));//true
    
        console.log(Number.parseInt('123abc123'));//123
        console.log(Number.parseInt('a123abc123'));//NaN
    
        console.log(Number.trunc('123.123'));//123

    数组扩展:

    1. Array.from(v) : 将伪数组对象或可遍历对象转换为真数组
    2. Array.of(v1, v2, v3) : 将一系列值转换成数组
    3. find(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素
    4. findIndex(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素下标

    数组扩展简单举例:

    let btns = document.getElementsByTagName('button');
    Array.from(btns).forEach(function (item, idex){
    console.log(item);
    });
    
    let arr = Arry.of(1,4,'abc',true);
    console.log(arr);
    
    let arr2 = [2,3,4,2,5,7,3,6,5];
    arr2.find(function (item, idex){
    return item >4;
    });
    console.log(result);

    对象扩展:

    1. Object.is(v1, v2)
    * 判断2个数据是否完全相等
    2. Object.assign(target, source1, source2..)
    * 将源对象的属性复制到目标对象上
    3. 直接操作 __proto__ 属性
    let obj2 = {};
    obj2.__proto__ = obj1;

    对象扩展简单举例:

    console.log(0 == -0); //true
    console.log(NaN == NaN); //false
    console.log(Object.is(0, -0)); //false
    console.log(Object.is(NaN, NaN)); //true
    
    let obj = {};
    let obj1 = {username:'anverson', age:42};
    let obj2 = {sex: '男'};
    Object.assign(obj,obj1,obj2);
    console.log(obj);
    
    let obj3 = {};
    let obj4 = {money:50000000};
    obj3.__protp__ = obj4;
    console.log(obj3);
    console.log(obj3.money);
    我是一个刚刚开始写博客的大可,内容有不详细或是错误的,还希望各位大佬私信我,我会进行纠正,谢谢啦!^-^
  • 相关阅读:
    gulp之压缩合并MD5清空替换加前缀以及自动编译自动刷新浏览器大全
    HTML5之文件API
    Angular2之路由学习笔记
    nodejs之主机不能访问到虚拟机的web服务器
    学习CSS3动画(animation)
    jQuery之ajax错误调试分析
    Angular2之管道学习笔记
    css3之3D魔方动画(小白版)
    关于二维网格导入autodyn的问题
    两个橡胶球自由落体撞击弹性板
  • 原文地址:https://www.cnblogs.com/sunjiaojiao/p/11153243.html
Copyright © 2020-2023  润新知