目录
一、深浅拷贝
数据的类型有:(1)简单数据类型(number、string、boolean、null、undefined),又称为基本数据类型。简单的数据类型可以直接存储在栈(stack)中。(2)对象数据类型(object),又称为复杂数据类型。
1、浅拷贝
拷贝可以看做是赋值
浅拷贝:把对象当中“最外层”的属性,拷贝给新的对象。在拷贝的过程中,如果属性的值是简单数据类型,可直接拷贝给新的对象;若果是对象数据类型,只是把原来对象的内存地址拷贝给新的对象(在浅拷贝中,如果数据类型是对象数据类型,在拷贝过程中,其中一个对象改变了内存地址,另一个对象也会受到影响)
2、深拷贝
深拷贝:把对象当中的所有属性,拷贝给新的对象。并且拷贝内存地址。(深拷贝前后两个对象互不影响。)
二、for语句
1、for
for循环的格式
for循环的执行方式
先定义循环变量的初始值,再进行判断初始值是否满足进入循环的条件,如果满足进入循环的的条件,就执行循环体语句,直至变量所赋给的值不满住循环条件后跳出;如果不满足循环条件直接退出循环。
for循环的优点
将循环变量和循环次数有关的条件都定义在()中,使得内容更加集中,不会造成语法形式的混乱;可以控制循环的起始和结束。
2、for-in
for-in循环的格式
for-in既可以遍历数组又可以遍历对象; for-in所得到的结果是数组的下标或者对象的属性名
3、for-of
for-of循环的格式
for-of可以循环数组,但不能循环一个普通对象;可以循环一个拥有enumerable属性的对象;for-of遍历数组得到的是数组的值
4、forEach
forEach的应用格式
形参1:存储的是当前的循环次数时,获取的单元数据
形参2:存储的是当前循环次数时,获取的单元索引下标
参数3:存储的是原始数组
三个形参不一定都要定义,可以根据需求任意定义,只要符合命名规范就可以
forEach的特点:
只能循环遍历数组,不能循环遍历对象;forEach得到的结果是数组的值