javaScript API

2019/11/11 javaScript

可互替的 API 场景:在一次开发的过程中遇到了 includes 方法不兼容,后来用 indexOf 替换 //判断一个字符串是否包含另一个字符串 console.log(content.includes(‘b’)); console.log(content.indexOf(‘b’)!=-1);

简化版 filter 方法

Array.prototype.filter = function(fn){
    let newArr = []
    console.log(this)
    for(let i = 0 ; i<this.length;i++){
        let flag = fn(this[i])
        flag&&newArr.push(this[i])
    }
    return newArr
}

简化版 every 方法

//要求每一个元素都要符合条件,只要有一个不符合就退出
Array.prototype.every = function(fn){
    let flag = true
    for(let i = 0 ; i<this.length;i++){
         flag = fn(this[i])
        if(!flag){
          return false
        }
    }
    return flag
}

简化版 some 方法

//要求只要有一个元素都要符合条件
Array.prototype.some = function(fn){
    for(let i = 0 ; i<this.length;i++){
        let flag = fn(this[i])
        if(flag){
          return flag
        }
    }
    return false
}

简化版 find 方法

//要求只要有一个元素都要符合条件,就返回这个元素
Array.prototype.find = function(fn){
    for(let i = 0 ; i<this.length;i++){
        let flag = fn(this[i])
        if(flag){
          return this[i]
        }
    }
}

简化版 findIndex 方法

//要求只要有一个元素都要符合条件,就返回这个元素
Array.prototype.findIndex = function(fn){
    for(let i = 0 ; i<this.length;i++){
        let flag = fn(this[i])
        if(flag){
          return i
        }
    }
}

箭头函数里面的 this 是在写的时候定死的,指向外层的的 this

let obj = {
  name:'sunseekers',
  getName:()=>{
    console.log(this.name)
    }
  }
obj.getName() // 什么也没有



let obj1 = {
  name:'sunseekers',
  getName1:obj.getName()
  }
obj1.getName1() // 什么也没有
class Parent{
  constructor(name){
    this.name = name;//实例的私有属性
  }
  //静态属性是类的属性
  static hello(){
    console.log('hello');
  }
  //属于实例的公有属性,也就是相当于原型上的属性
  getName(){
    console.log(this.name);
  }
}
class Child extends Parent{
  constructor(name,age){
    //super指的是父类的构造函数
    super(name);
    this.age = age;
  }
  getAge(){
    console.log(this.age);
  }
}

类 和类的实例 一个属性如果放在原型上的话,是可能通过实例来调用的 但是放在类上的,不能通过实例来调用,只能用过类名来调用

正则表达式是匹配模式,要么匹配字符,要么匹配位置

正则里面 \ 可以表示转译

管道符 匹配的时候是惰性匹配,匹配上了前面的后面就不再尝试了
  var regex = /good|goodbye/g;
  var string = "goodbye";
  console.log( string.match(regex) );
  // => ["good"]

字符组 [] 量词 {},+?* 多选分支|

匹配字符,无非就是字符组,量词,分支结构的组合使用罢了

/^([01][0-9] [2][0-3]):[0-5][0-9]$/

乔迁之喜

距离那场大雨已经过去小半年了,今天搬进了新家,爸爸妈妈应该很开心,有了自己的家,有了一个落脚的地方。 记得小半年前,妈妈和我说晚上经常睡不着,失眠,焦虑,因为居无定所。后来开始修新家的时候,妈妈说终于可以睡了一个好觉。 今天搬进了新家,开心。

前两天两句话问到了我,恍然间他们已经不拿我当小孩了。


一名伪程序猿——sunseekers,曾被bug虐的体无完肤,却依旧待他如初恋。

如果我改过的某一个bug,吐槽过的某一个需求,写过的某一行代码

曾在你的心里荡起涟漪,那至少说明在逝去的岁月里,我们在某一刻,共同经历着一样的情愫。

有时候,虽然素未谋面。却已相识很久,很微妙也很知足。


如果你喜欢我写过的某一个文字,请支持我,鼓励我,你的鼓励是我最大的动力来源

当然恰好你也喜欢我的话,我们可以互相关注,相互学习的哟!

sunseekers

Search

    Table of Contents