js
weixin_46852620
这个作者很懒,什么都没留下…
展开
-
文件下载处理
let url ='下载文件'// 方式一window.location.href = url// 方式二window.open = url// 方式三<iframe id="ifile" style="display:none"></iframe>document.getElementById('ifile').src = url原创 2021-08-27 10:22:34 · 149 阅读 · 0 评论 -
js处理seacrch
function handleSearch (data) { let obj = {} let str = data.substr(1) str = str.split("&") str.forEach(item => { let key = item.split("=")[0] let value = item.split("=")[1] obj[key] = value }) return obj }原创 2021-03-11 15:15:00 · 98 阅读 · 0 评论 -
js删除对象属性
var obj={ name: 'zhagnsan', age: 19 }delete obj.name //truetypeof obj.name //undefined原创 2021-03-11 11:19:47 · 75 阅读 · 0 评论 -
数组,字符串,对象方法
一数组filtersome //some 也是查找满足条件的元素是否存在 返回的是一个布尔值 如果查找到第一个满足条件的元素就终止循环everyreducemap遍历数组forEachforfor in(索引值)for of(值)var arr = [1, 2, 3, 4, 5, 6, 7] // 插入 // arr.splice(2, 0, 99) //[1, 2, 99, 3, 4, 5, 6, 7] // 删除 // arr.s原创 2021-03-08 23:32:10 · 77 阅读 · 0 评论 -
判断一个字符串中出现次数最多的字符,并统计其次数。
判断一个字符串 'abcoefoxyozzopp' 中出现次数最多的字符,并统计其次数。 o.a = 1 o.b = 1 o.c = 1 o.o = 4 核心算法:利用 charAt() 遍历这个字符串 把每个字符都存储给对象, 如果对象没有该属性,就为1,如果存在了就 +1 遍历对象,得到最大值和该字符 var str = 'abcoefoxyozzopp';...原创 2021-02-09 13:25:13 · 571 阅读 · 0 评论 -
lodash工具库
lodash的所有函数都不会在原有的数据上进行操作,而是复制出一个新的数据而不改变原有数据npm install lodash import _ from 'lodash' // lodash cloneDeep(obj)const form = _.cloneDeep(this.addForm)var object = { 'a': [{ 'b': 2 }, { 'd': 4 }]}; var other = { 'a': [{ 'c': 3 }, { 'e': 5 }]原创 2021-02-07 18:56:30 · 83 阅读 · 0 评论 -
日期格式化
dateFormat(originVal) { const dt = new Date(originVal * 1000); const y = dt.getFullYear(); const m = (dt.getMonth() + 1 + "").padStart(2, "0"); const d = (dt.getDate() + "").padStart(2, "0"); ...原创 2021-02-05 14:53:21 · 58 阅读 · 0 评论 -
jsonp原理
原理: 利用script标签 发送请求时无视同源策略 并且请求回来之后还可以执行代码的特点 来请求其它服务器上的数据封装jsonp jsonp(url, data, callback) { // 将data格式化为querystring var querystring = ''; for (var i in data) { querystring += i + "=" + data[i] + "&"; }原创 2021-02-01 08:53:25 · 46 阅读 · 0 评论 -
for in, for of区别
for in遍历对象返回的对象的key值;遍历数组返回的数组的下标(key)。for of不可遍历对象原创 2021-02-03 18:04:47 · 52 阅读 · 0 评论 -
Object.keys,value,entries
一、Object.keys(obj)参数:要返回其枚举自身属性的对象返回值:一个表示给定对象的所有属性的字符串数组var obj = { foo: 'bar', baz: 42 };console.log(Object.keys(obj));["foo", "baz"]二、Object.values()返回值:一个表示给定对象的所有属性值的字符串数组var obj = { foo: 'bar', baz: 42 };console.log(Object.values(obj));["b原创 2021-02-03 17:50:43 · 89 阅读 · 0 评论 -
树形结构转换
list: [ { id: 1, parentId: 0, name: "一级菜单A", rank: 1 }, { id: 2, parentId: 0, name: "一级菜单B", rank: 1 }, { id: 3, parentId: 0, name: "一级菜单C", rank: 1 }, { id: 4, parentId: 1, name: "二级菜单A-A", rank: 2 }, { id: 5, paren原创 2021-02-03 15:42:35 · 318 阅读 · 0 评论 -
浏览器数据缓存机制
cookie、sessionStorage、localStorage之间的区别相同点:都是存储在浏览器端。并且是同源的不同点:1、存储大小一般浏览器存储cookie最大容量为4kb,很多浏览器都限制一个站点最多保存20个cookie。sessionStorage和localStorage虽然也有存储大小的限制,能提供5M的存储空间(不同浏览器不同),但是要比cookie大得多。2、存储有效期:cookie保存的数据在过期时间之前一直有效,即使关闭浏览器sessionStorage保存的数据用原创 2021-02-02 10:43:23 · 1128 阅读 · 0 评论 -
promise的使用
promise基本使用 var p = new Promise(function(resolve, reject) { // 发送异步请求 QF.get("./a.php", {}, function(data) { if (!data.error) { resolve(data.data, 123); // 这里只能传递一个参数 } else {原创 2021-02-01 14:03:29 · 182 阅读 · 0 评论 -
封装ajax
var Ajax = { get(url, data, callback) { var querystring = ""; for (var i in data) { querystring += i + "=" + data[i] + "&"; } querystring = querystring.slice(0, -1); // 1 初始化xhr原创 2021-02-01 13:30:45 · 44 阅读 · 0 评论 -
模块化
js前期是没有模块化的概念,会造成变量冲突解决方法(立即执行函数);var space = (function(w) { let name = 'caoyang' // 方式一 return { name, } // 方式二 w.name = name})(window);通过一系列的方式,前端并没有找到合适的方式去解决上面的问题,但是这个 nodejs 诞生。nodejs 借鉴别的的语言的模块化的规范,形成一个自己的模块化规范, 叫做同步加载规.原创 2021-01-31 17:19:43 · 44 阅读 · 0 评论