【重学JS】坚持学习,巩固基础-对象&数组及其方法

440 阅读5分钟

这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战

☆☆☆ 今天的内容(数组)比较重要, 也是工作中用的最多的内容!! ☆☆☆

持续更新, 可作为初学者的学习路线, 可参考以下, 学习进度也不是特别赶!

用自己的理解, 简单又全面概括基础知识点, 大部分内容为白话文内容, 基础中的基础 方便加深理解!

巩固学习 JavaScript 基础知识, 加深理解记忆, 打牢地基才能筑高楼! 加油

如需更详细了解学习- 推荐查看 MDN-JavaScript 文档, (红宝书/白皮书/蓝皮书/..)进行学习进阶!

更多阅读: 前文更新回顾

【重学JS】每天学习巩固基础: 【day1】

【day2】【day3】【day4】【day5】【day6】

开始今天的学习吧! 认真对待!!

1、内置对象

系统提供的直接使用的对象

  • 数组 Array
  • 字符串 String
  • 数学 Math
  • 日期时间对象 Date
  • 正则   RegExp

2、对象

对象定义:

将多个信息组合起来 表示一个整体   这样多个信息的组合就称为一个对象

2.2 对象定义方式

var obj = {  }       json 对象定义形式

  • 对象特性 : 属性   方法

  • 使用 : 对象.属性   属性没有括号                 对象.方法   方法都是有括号

  • 当键的值是一个 function 时,说明这个键代表的是 对象的方法

  • 对象特点 : 对象都可以动态的添加属性和方法 /所有的对象都具有属性和方法

3、构造函数

构造函数 : 可以通过 new 关键字创建出一个对象的函数

4、数组 (重点)

数组就是一个容器 , 存放不同类型的数据

  • 如果存对象,就是对象数组;
  • 如果存放 字符串,就是字符数组;如果存放数值 数值数组
  • 一般   数组中存放的是同类型的数据

定义一维数组 :   由一个下标组成

两种方法:

  • var arr = [ ];
  • var arr = new Array();   构造函数定义方法  Array 是一个构造函数

定义数组后   如果没有值 表示一个空数组

  • var arr = new Array(5);   如果括号中只有一个数值 该数值表示数组的长度

js 数组特点 : 数组的长度不固定     数组可以不连续存放数值

  • 没有赋值的数组数据默认是 undefined

  • 获取数组长度属性:length

扩展:

  • 快速清空数组方式 :

arr = [];   或  arr.length = 0;

操作数组数据 :数组名[下标]    下标从 0 开始   最大下标 arr.length-1

5、js 中的二维数组(了解)   由两个下标组成

二维数组 : 类似表格结构   由行与列组成

定义 (数组中的值是一个一维数组):

var arr = [[2,3],[6,7],[8,90]];

arr[行][列]

6、数组遍历方式 ( 遍历 --- 循环 )  

可以使用 for   或 for...in

for...in   用来遍历对象

for( var i in 对象 ){
    i 的类型是 string
}

for...in 的特点 :

  • 1、没有循环条件
  • 2、自动取出下标   下标从 0 开始 到最大下标结束
  • 3、下标类型是 string
  • 4、for ... in 只能遍历对象
  • 5、json 对象 {  } 的遍历   只能通过 for..in 遍历

7、判断一个对象是否为一个数组(扩展)

instanceof :

对象 instanceof 构造函数   返回布尔值   如果对象属于该构造函数返回 true,否则返回 false

8、数组的操作方法

  • length : 获取数组长度

    技巧 :快速的清空数组 或 快速的改变数组的个数 :

var arr = [19, 2, 3, 4, 5, 6, 7]
arr.length = 0
// 清空数组

arr.length = 1
// 保留数组中的第一个数
  • push()   向数组的尾部添加一个或多个元素   用法 : arr.push(23,34,12);   返回数组新长度值
  • pop()   删除数组尾部的数据   一次删一个 用法:arr.pop();没有参数   返回 删除的元素
  • unshift() 向数组的头部添加一个或多个元素   用法 :arr.unshift(34)
  • shift()       删除数组头部的元素
  • splice()   splice(start):表示删除从 start 位置开始的数一直到数组尾部
    • 一、  arr.splice(start,length)   删除从开始位置 指定长度的数据     返回删除的元素   如果不加 length,将 start 位置后面的数据都删除
    • 二、  arr.splice( start , length , num 参数 );
      • 如果 length 是 0,在 start 位置处添加 num 数据     (添加)
      • 如果 length 是大于 0, 将 start 位置处的数据先删除,在添加 num 数据(替换)

☆☆ 重点 ☆☆: 上面的五个方法 都会改变原数组

下面这几个方法,   了解方法的返回值

  • slice(start,end)   截取从 start 开始处到 end-1 位置处的字符   不会改变原数组   返回截取后的数据
  • join()   用法 :  arr.join("-")   使用 - 将数组中的数据连接起来 转成字符串   数组转成字符串
  • concat() 用法 :  arr.concat( brr , crr )   将两个以上的数组合并成一个新数组 返回合并后的新数组
  • reverse()   用法 : arr.reverse()   数组反转     也会改变原数组

9、栈和堆

9.1 栈 :

当定义一个变量时,会在内容中开辟一块存储空间,用来存放该变量的值,这样的存储空间叫做栈

一般栈中 存放的基本类型数据

栈的特点  :   有底无顶     先进后出

9.2 堆 :

堆中可以存放多个值   一般堆中存放的数据类型是  object

值传递和地址传递(复制) :

值传递 :后面变量的改变不会影响到其他变量值的改变(变量的值互不影响)(单向传递)

地址传递 : 变量之间数据的改变会互相影响  (一改全改)(双向传递)


加油, 追梦人

学习就是一个不断进行的过程, 坚持下去, 定有收获!

日积月累, 巩固基础, 早进大厂!

坚持很不容易, 坚持很久更不容易

Calm Down & Carry On!