• Document


    附加:

    字符串扩展:

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

     1    let str = 'abcdefg';
     2     console.log(str.includes('a'));//true
     3     console.log(str.includes('h'));//false
     4 
     5     //startsWith(str) : 判断是否以指定字符串开头
     6     console.log(str.startsWith('a'));//true
     7     console.log(str.startsWith('d'));//false
     8     //endsWith(str) : 判断是否以指定字符串结尾
     9     console.log(str.endsWith('g'));//true
    10     console.log(str.endsWith('d'));//false
    11     //repeat(count) : 重复指定次数a
    12     console.log(str.repeat(5));
    View Code

    数值扩展

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

     1  console.log(0b1010);//10
     2     console.log(0o56);//46
     3     //Number.isFinite(i) : 判断是否是有限大的数
     4     console.log(Number.isFinite(NaN));//false
     5     console.log(Number.isFinite(5));//true
     6     //Number.isNaN(i) : 判断是否是NaN
     7     console.log(Number.isNaN(NaN));//true
     8     console.log(Number.isNaN(5));//falsse
     9 
    10     //Number.isInteger(i) : 判断是否是整数
    11     console.log(Number.isInteger(5.23));//false
    12     console.log(Number.isInteger(5.0));//true
    13     console.log(Number.isInteger(5));//true
    14 
    15     //Number.parseInt(str) : 将字符串转换为对应的数值
    16     console.log(Number.parseInt('123abc'));//123
    17     console.log(Number.parseInt('a123abc'));//NaN
    18 
    19     // Math.trunc(i) : 直接去除小数部分
    20     console.log(Math.trunc(13.123));//13
    View Code

    数组扩展

    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的元素下标

     1  //Array.from(v) : 将伪数组对象或可遍历对象转换为真数组
     2     let btns = document.getElementsByTagName('button');
     3     console.log(btns.length);//3
     4     Array.from(btns).forEach(function (item, index) {
     5         console.log(item, index);
     6     });
     7     //Array.of(v1, v2, v3) : 将一系列值转换成数组
     8     let arr = Array.of(1, 'abc', true);
     9     console.log(arr);
    10     //find(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素
    11     let arr1 = [1,3,5,2,6,7,3];
    12     let result = arr1.find(function (item, index) {
    13         return item >3
    14     });
    15     console.log(result);//5
    16     //findIndex(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素下标
    17     let result1 = arr1.findIndex(function (item, index) {
    18         return item >3
    19     });
    20     console.log(result1);//2
    View Code

    对象扩展

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

     1   console.log(Object.is('abc', 'abc'));//true
     2     console.log(NaN == NaN);//false
     3     console.log(Object.is(NaN, NaN));//true
     4 
     5     console.log(0 == -0);//true
     6     console.log(Object.is(0, -0));//false
     7 
     8     //Object.assign(target, source1, source2..)
     9     let obj = {name : 'kobe', age : 39, c: {d: 2}};
    10     let obj1 = {};
    11     Object.assign(obj1, obj);
    12     console.log(obj1, obj1.name);
    13 
    14     //直接操作 __proto__ 属性
    15     let obj3 = {name : 'anverson', age : 41};
    16     let obj4 = {};
    17     obj4.__proto__ = obj3;
    18     console.log(obj4, obj4.name, obj4.age);
    View Code

    Set和Map数据结构

    1. Set容器 : 无序不可重复的多个value的集合体
    * Set()
    * Set(array)
    * add(value)
    * delete(value)
    * has(value)
    * clear()
    * size
    2. Map容器 : 无序的 key不重复的多个key-value的集合体
    * Map()
    * Map(array)
    * set(key, value)//添加
    * get(key)
    * delete(key)
    * has(key)
    * clear()
    * size

     1  let set = new Set([1,2,3,4,3,2,1,6]);
     2     console.log(set);
     3     set.add('abc');
     4     console.log(set, set.size);
     5     //delete(value)
     6     set.delete(2);
     7     console.log(set);
     8     //has(value)
     9     console.log(set.has(2));//false
    10     console.log(set.has(1));//true
    11     //clear()
    12     set.clear();
    13     console.log(set);
    14 
    15     let map = new Map([['abc', 12],[25, 'age']]);
    16     console.log(map);
    17     map.set('男', '性别');
    18     console.log(map);
    19     console.log(map.get(25));//age
    20     //delete(key)
    21     map.delete('男');
    22     console.log(map);
    23     console.log(map.has('男'));//false
    24     console.log(map.has('abc'));//true
    25     map.clear();
    26     console.log(map);
    View Code

    for_of循环

    for(let value of target){}循环遍历
    1. 遍历数组
    2. 遍历Set
    3. 遍历Map
    4. 遍历字符串
    5. 遍历伪数组

     1   let arr = [1,2,3,4,5];
     2     for(let num of arr){
     3         console.log(num);
     4     }
     5     let set = new Set([1,2,3,4,5]);
     6     for(let num of set){
     7         console.log(num);
     8     }
     9     let str = 'abcdefg';
    10     for(let num of str){
    11         console.log(num);
    12     }
    13     let btns = document.getElementsByTagName('button');
    14     for(let btn of btns){
    15         console.log(btn.innerHTML);
    16     }
    View Code
  • 相关阅读:
    java——io、字节流缓冲区拷贝文件、字节缓冲流
    java——斗地主小游戏之洗牌发牌
    java——HashMap、Hashtable
    java——模拟新浪微博用户注册
    [bzoj 1492][NOI2007]货币兑换Cash
    [bzoj 1010][HNOI 2008]玩具装箱
    [bzoj 2875][noi2012]随机数生成器
    [bzoj 4872][六省联考2017]分手是祝愿
    [bzoj 3566][SHOI 2014]概率充电器
    [bzoj 3534][Sdoi2014] 重建
  • 原文地址:https://www.cnblogs.com/chenyanlong/p/10414043.html
Copyright © 2020-2023  润新知