摘要: 共同点: 1.都是循环遍历数组中的每一项。 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input。 3.匿名函数中的this都是指Window。 4.只能遍历数组。 不同点: 1.forEach() 没有返回 阅读全文
posted @ 2019-03-24 23:01 ice_sweet 阅读(1850) 评论(1) 推荐(0) 编辑
摘要: JSON.parse(JSON.stringify(obj))我们一般用来深拷贝,其过程说白了 就是利用JSON.stringify 将js对象序列化(JSON字符串),再使用JSON.parse来反序列化(还原)js对象;序列化的作用是存储(对象本身存储的只是一个地址映射,如果断电,对象将不复存在 阅读全文
posted @ 2019-03-23 11:37 ice_sweet 阅读(8479) 评论(0) 推荐(2) 编辑
摘要: Promise对象是用于异步操作的。 Promise的真正强大之处在于它的多重链式调用,可以避免层层嵌套回调。如果我们在第一次ajax请求后,还要用它返回的结果再次请求呢? 使用Promise,我们就可以利用then进行「链式回调」,将异步操作以同步操作的流程表示出来。 以下是个小Demo: 基本用 阅读全文
posted @ 2019-03-23 10:55 ice_sweet 阅读(10661) 评论(0) 推荐(0) 编辑
摘要: qs是一个npm仓库所管理的包,可通过npm install qs命令进行安装. 1. qs.parse()将URL解析成对象的形式 const Qs = require('qs');let url = 'method=query_sql_dataset_data&projectId=85&appT 阅读全文
posted @ 2019-03-22 13:04 ice_sweet 阅读(4415) 评论(0) 推荐(0) 编辑
摘要: 不多BB! 直接看源码 阅读全文
posted @ 2019-03-22 13:01 ice_sweet 阅读(1856) 评论(0) 推荐(0) 编辑
摘要: 在这里只推荐简单易懂的方法,赶紧get !!! 字符串转数组,反转数组,数组转字符串。 split(""):根据空字符串拆分数组 reverse():数组反转元素位置 join(""):数组转回字符串,且不带分隔符 实现效果如图: 阅读全文
posted @ 2019-03-22 12:55 ice_sweet 阅读(4171) 评论(0) 推荐(0) 编辑
摘要: Js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值,1、!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true。 2、!!常常用来做类型判断,在第一步!(变量)之后再做逻辑取反运算,在js中新手常 阅读全文
posted @ 2019-03-21 18:06 ice_sweet 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 实现思路如下:1、网页路由(route)中定义的每个路由都有meta属性,属性值防止可访问该路由的值。2、路由的全局前置守卫(beforeEach)会判断路由用户是否登录(未登录跳转至登录界面),以及登录用户是否有权限查看该页面(无权限跳转至tips页面)。3、home中导航树根据权限信息的不同,渲 阅读全文
posted @ 2019-03-14 23:42 ice_sweet 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1. 解释 event loop Javascript是单线程的,所有的同步任务都会在主线程中执行。 主线程之外,还有一个任务队列。每当一个异步任务有结果了,就往任务队列里塞一个事件。 当主线程中的任务,都执行完之后,系统会 “依次” 读取任务队列里的事件。与之相对应的异步任务进入主线程,开始执行。 阅读全文
posted @ 2019-03-14 23:24 ice_sweet 阅读(820) 评论(0) 推荐(0) 编辑
摘要: 如果用import引入的话,当项目打包时路由里的所有component都会打包在一个js中,造成进入首页时,需要加载的内容过多,时间相对比较长。当你用require这种方式引入的时候,会将你的component分别打包成不同的js,加载的时候也是按需加载,只用访问这个路由网址时才会加载这个js。你可 阅读全文
posted @ 2019-03-14 15:56 ice_sweet 阅读(1762) 评论(0) 推荐(0) 编辑