发表于: 2020-06-19 20:23:39

1 2399




今天完成的事情:

1.回顾任务


明天计划的事情:

1.回顾任务


遇到的问题和收获:

页面跳转

window.location和 window.location.href实现的效果是一样的

不同之处在于 window.location返回的是对象,如果没有.href,它会默认参数就是href

window.location.href = "../html/js-2-2.html";

历史页跳转

window.history.back();
window.history.go(-1);

例如:里面放上 -1 意思就是返回上一级,里面放上 -2 就是返回上上级,以此类推  而且里面还可以放上指定的路由路径,比如 window.history.go('../routes/admin/');这样可以跳转到指定的路由模块


数组操作

1. push()

在数组末尾添加一个或多个元素,并返回新数组长度

2. join()

功能:将数组中所有元素都转化为字符串并连接在一起

3. reverse()

功能:将数组中的元素颠倒顺序。

4. splice()

功能:从数组中删除元素、插入元素到数组中或者同时完成这两种操作。  输入:第一个参数为指定插入或删除的起始位置,第二个参数为要删除的个数。之后的参数表示需要插入到数组中的元素 。如果只有一个参数,默认删除参数后边的所有元素。  输出:返回一个由删除元素组成的数组。  注意:新建了一个数组,并修改了原数组

var aa = [1,2,3,4,5,6];
console.log(aa.splice(4)); //[5,6]  返回删除后的数组
aa; // [1,2,3,4]
console.log(aa.splice(2,2)); //[3,4] 从第二位起删除两个元素
aa; //[1,2]
console.log(aa.splice(1,0,7,8)); //[]从第一位起删除0个元素,添加7,8到原数组
aa;//[1,7,8,2]

5. forEach()

从头至尾遍历数组,为每个元素调用指定函数 输入为一个待遍历函数,函数的参数依次为:数组元素、元素的索引、数组本身

every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。

检测数组中的每一项是否符合条件

filter():对数组中的每一项运行给定函数,返回该函数会返回true 的项组成的数组。

筛选出数组中符合的项,组成新的数组

forEach():对数组中的每一项运行给定函数。这个方法没有返回值。

让数组的每一项做一件事

map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

            map()让数组通过某种计算得到一个新的数组

some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true

检测数组中的某些项符合条件

浅拷贝、深拷贝分别是什么?

深拷贝的特征:创建一个新的对象,新的对象是旧对象的复制。新的对象和旧的对象没有关联。

浅拷贝的特征:创建一个新的对象,新的对象是旧的对象。更改其中任意一个对象,另一个都会更改。

浅拷贝的常用方法:

1.赋值

2.Object.assign()

定义:用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象.

深度拷贝常用方法:

1.转成JSON再转回来

2.concat方法

JSON拷贝的局限性?

局限性:函数、时间、正则、报错,使用JSON都无法拷贝




返回列表 返回列表
评论

    分享到