ES6中新方法

ES6中新方法

方法的分类

  • 静态方法
    指的是类本身调用的方法叫做静态方法 在类本身 由类调用
  • 普通方法
    指的是类的原型上的方法 在原型上 由实例调用
    // 定义类
    function Dog() {

    }
    // 定义普通方法
    Dog.prototype.xxx = function() {}

    // 定义静态方法
    Dog.sayHello = function() {}

字符串方法

  • startsWith(str, pos) 方法判定字符串是否是以指定的字符串开头(其实是从某个位置开头 默认是从头开始判定)
    • str 被判定的包含字符串
    • pos 截取的位置(可选,默认为0)
    • 返回值 布尔值 true表示包含 false表示不包含
    // startsWith
    // 该方法判定字符串是否是以指定的字符串开头(其实是从某个位置开头 默认是从头开始判定)
    let str = "今天天气不错";
    // 判定str是否是以"今天"开头
    let result = str.startsWith("今天");
    console.log(result);
    // 判定 "天气"是不是从str的下标2开始
    let result1 = str.startsWith("天", 1);
    console.log(result1);
  • endsWith(str, pos) 该方法判定字符串是否是以指定的字符串结尾(其实是从某个位置结尾 默认是从末尾开始判定)
    • str 被包含的字符串
    • pos 截取的末尾位置(数值依旧是字符串的下标 从头开始截取到该位置 不包含该位置)
    • 返回值 布尔值 true表示包含 false表示不包含
    let str = "今天天气不错";
    // 判定是否是以"错"结尾
    let result = str.endsWith("错");
    console.log(result);

    // 判定字符串的到倒数第二个字是否是以"不"结尾  
    let result1 = str.endsWith("不", 5);
    console.log(result1);
  • includes(str, pos) 该方法判定字符串中是否包含另一个字符串
    • str 被包含的字符串
    • pos 判定的起始位置
    • 返回值 布尔值 true表示包含 false表示不包含
    let str = "今天天气不错";
    // 判定str中是否包含 "气" 这个字
    let result = str.includes("气");
    console.log(result);

    // 判定str中从下标3开始往后 是否包含"气"这个字
    let result1 = str.includes("气", 3);
    console.log(result1);
  • repeat(num) 方法 用于重复字符串
    • num 数字 表示重复次数
    • 返回值 重复之后的字符串
    let str = "今天天气不错";
    let str1 = str.repeat(20);
    console.log(str1);

数组方法

  • Array.of(a, b, c, d, …) 定义数组
    • 每一个参数都是数组的成员
    • 返回值 数组
    var arr1 = Array.of(10); // Array.of消除了new Array时 只有一个参数 会因为类型的不同而产生的歧义
  • Array.from(likeArray) 用于将类数组对象转为真正的数组
    • likeArray 类数组对象
    // 获取类数组对象
    var lis = document.getElementsByTagName("li");
    console.log(lis);
    // 以前我们可以这么转换
    var arr = [].slice.call(lis);
    console.log(arr);
    // 现在可以通过Array.from
    var arr1 = Array.from(lis);
    console.log(arr1);
  • find(handler) 用于以条件查询数组中的成员
    • handler 函数 有三个参数
      • 成员
      • 成员下标
      • 数组本身
      • 返回值 返回布尔值 如果为真 则停止循环并返回对应的成员
    • 返回值 当参数函数返回真时 返回对应成员 如果没有任何一个返回真 则返回 undefined
    var arr = ["浦东", "奉贤", "宝山", "青浦", "闵行", "徐汇"];
    var baoshan = arr.find(function(value, index, arr) {
        // console.log(value, index, arr);
        return value.includes("山");
    });
    console.log(baoshan); 
  • findIndex(handler) 用于以条件查询数组中的成员对应的下标
    • handler(value, index, arr) 函数 有三个参数
      • value 成员
      • index 成员下标
      • arr 数组本身
      • 返回值 返回布尔值 如果为真 则停止循环并返回对应的成员
    • 返回值 当参数函数返回真时 返回对应成员下标 如果没有任何一个返回真 则返回 -1
  • copyWithin(pos, start, end) 用于数组的内部复制 从start开始复制到end结束(不包含) 再将复制的内容从pos开始一一往后替换
    • pos 替换的位置下标
    • start 复制的开始位置下标(包含)
    • end 复制的结束位置下标(不包含)
    • 返回值 原数组 注:该方法会改变原数组
    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    arr.copyWithin(1, 4, 7);
    console.log(arr); // [1, 5, 6, 7, 5, 6, 7, 8, 9]

对象方法

  • Object.is(one, two) 用于比较两者是否全等
    • one 比较的一方
    • two 比较的另一方
    // 这里主要说明它与 === 的不同
    console.log(NaN === NaN);  // false 
    console.log(Object.is(NaN, NaN)); // true

    console.log(0 === -0); // true
    console.log(Object.is(0, -0)); // false
  • Object.assign(target, …more) 用于复制对象的属性给目标对象
    • target 被赋予属性的目标对象
    • …more 表示剩余参数 每一个都是对象 这些对象的属性都会赋予给target
    var obj = {

    }
    var obj1 = {
        color: "Red",
        age: 33,
        girlFriend: {
            name: "小花"
        }
    }

    var obj2 = {
        account: "sdifhsidhf"
    }

    // 将obj1和obj2的所有属性和方法复制一份给obj
    Object.assign(obj, obj1, obj2);
    // 复制之后再输出 就已经具备了很多属性和方法
    console.log(obj);

    console.log(obj1.girlFriend === obj.girlFriend) // 地址相同   
    // 修改obj的属性内容
    obj.girlFriend.age = 13;
    console.log(obj1.girlFriend) // 影响到obj1的属性了
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值