JS高级

135 阅读2分钟

webAPI第九天

js高级

箭头函数

const func=() =>{}

// 箭头函数是匿名函数,一般做为参数传递
// let test = function (a,b){
//     let sum = a + b 
//     return sum
// }
// let test = (参数) => {函数体}
// 几个小细节
// 1.如果函数体只有一句,那么可以省略{},同时默认会返回函数体的结果,不能写return
// 2.如果只有一个参数,那么可以省略()
// 3.如果没有参数,()也不能省略
// let test = (a,b) =>  a + b    // 不能有大括号
let test = a =>  a + 10let res = test(100)
console.log(res)
​
      // 没有形参、有返回值,业务一行代码
      // const func7 = () => {
      //   return 100 + 200;
      // };
      // 没有形参、有返回值,业务一行代码 等价上述写法
      const func7 = () => 100 + 200; // 相等于 return 100+200
      
    // 如果你一定要在箭头函数中想要通过省略 return的方式来 返回对象,请你加上一个小括号
      const func7=(num)=>({a:123});// => 右边加了小括号 
                       表示想要返回 小括号里面的数据 return {a:123};
      const func8=(num)=>{a:123};// => undefined

数组的方法

forEach

遍历数组

map

根据旧数组 重新改造成新数组

filter

过滤或者筛选

every

要求数组中每一个元素都满足条件 返回true

some

要求数组中最少有一个满足条件 返回true

伪数组转真正数组

const arr=[...dom数组]

面向对象

一种编程行业通用的写项目级的代码的思维,引导我们如何编写高质量的代码,万物皆对象 - 看待事物的角度,(属性:数据,行为:动作(方法) )。代码特点是封装和继承

概念

写项目级别代码的 思维

思维

看成两个部分

1 属性(颜色、名称、身高。。)

2 行为(说话、修改颜色、设置字体大小)

字面量 创建对象

const obj={}

工厂函数

  1. 容易理解
  2. 失去血缘关系,无法简单分辨对象的特征
  3. 后期无法实现继承

function createPerson(name){ return { name:name } }

构造函数

  1. 可以方便的创建对象

  2. 拥有血缘关系

  3. 还有后续更多的优势

    构造函数 创建不同人 大家有大家的名字, 共同一个行为 say => 说出自己的名称

    普通的属性写在构造函数内

    行为方法写在原型上 prototype

    function CreatePerson(name){
     this.name=name
    }
    ​
    CreatePerson.prototype.say=function(){}
    ​
    CreatePerson 就是构造函数
    ​
    const obj1=new CreatePerson("悟空")
    

image.png