ES6——

1.深入对象

1.创建对象的三种方式

 // 1.利用字面量创建对象
    const obj = {
      name: 'red'
    }
    // 2.利用new Object创建对象,创建的是一个空对象
    const o=new Object()
    // 3.利用构造函数创建对象

2.构造函数 

也是一个函数,用于初始化和创建对象,快速创建多个类似对象

以大写字母为开头

只能用new操作符来执行

示例

//创建一个构造函数
    function Pig(uname, age) {
      this.uname = uname //this指向要创建的新对象
      this.age = age

    }
    const p = new Pig('peiqi', 6)
    console.log(p)

3.实例成员 

通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员(实例属性和实例方法)

4.静态成员 

在构造函数上直接增加的属性和方法称为静态成员(静态属性和静态方法)

 function Pig(name) {
      this.name = name
    }
    Pig.eyes = 2 //静态属性
    console.log(Pig.eyes) //只能通过构造函数访问
    Pig.way = function () { //静态方法
      console.log(this) //this指向构造函数
    }
    Pig.way()

 2.内置构造函数

3.Object的静态方法 

1.Object.keys()——获取所有的属性名

2.Object.values()——获取所有的属性值

3.Object.assign()——用于拷贝对象

使用场景:给对象添加属性

const o = {
      uname: 'red',
      age: 18
    }
    //1.获取所有的属性名
    console.log(Object.keys(o)) //返回数组
    // 2.获取所有的属性值
    console.log(Object.values(o)) //返回数组
    // 3.对象的拷贝
    const oo = {}
    Object.assign(oo, o) //新对象放前面,旧对象放后面
    console.log(oo)

    // 添加属性
    Object.assign(o, {
      gender: '女'
    })
    console.log(o)

 4.Array

1.数组的常用方法

1.reduce()的示例

const arr = [1, 2, 3]
    //arr.reduce(回调函数,初始值)
    // arr.reduce(function(上一次值,当前值){},初始值)
    //1.没有初始值
    const total = arr.reduce(function (prev, current) {
      return prev + current
    })
    console.log(total)
    // 2.有初始值
    const t = arr.reduce(function (prev, current) {
      return prev + current
    }, 10)
    console.log(t)
    // 箭头函数写法
    const o = arr.reduce((prev, current) => prev + current, 10)
    console.log(o)

如果遇到对象属性

const arr = [{
      name: '李四',
      salary: 10000
    }, {
      name: '张三',
      salary: 10000
    }, {
      name: '王五',
      salary: 10000
    }, ]
    const total = arr.reduce(function (prev, current) {
      return prev + current.salary //对象数组注意相加的是什么属性,要写清楚
    }, 0) //遇见对象数组一定要写初始值,没有就写0
    console.log(total)

2.find() 

返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

// 常用于查找对象
    const arr = [{
      name: '小米',
      place: 3999
    }, {
      name: '华为',
      place: 2999
    }]
    const re = arr.find(function (item) {
      return item.name === "小米"
    })
    console.log(re)//返回的是对象

3.every() 

测试一个数组内的所有元素是否都能通过指定函数的测试。它返回一个布尔值。

const arr1 = [10, 20, 30]
    const flag = arr1.every(item => item >= 20)
    console.log(flag)

4.some()

测试数组中是否至少有一个元素通过了由提供的函数实现的测试。如果在数组中找到一个元素使得提供的函数返回 true,则返回 true;否则返回 false。它不会修改数组。

 const arr1 = [10, 20, 30]
    const flag = arr1.some(item => item >= 20)
    console.log(flag)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值