
javascript
文章平均质量分 58
DiuDiu_yang
在前端的职业道路上摸打滚爬,越走越远。一名热爱生活的程序媛~
展开
-
flex布局下,多个Echarts图表resize有问题
场景项目中,我们需要实现一列多行,多个图表,使用flex布局宽度自适应。给图表绑定了resize事件,当窗口从小到大变化时,每个图表resize正常,但是从大变小时,图表resize异常。多方排查之后,才发现是echarts没有兼容flex布局的方式。布局方面项目里我们的布局是固定一列,剩余均分自适应。该组件多个地方使用,内容项不固定,可能4项,也可能3项,所以布局我们使用了flex。.container { display: flex;}.flex-item1 { width:原创 2022-02-18 15:10:01 · 3156 阅读 · 5 评论 -
令人振奋的ES2021几个新特性
ES20211.promise新增pormise.any()方法 Promise.any(iterable);ps: Promise.any() 方法依然是实验性的,尚未被所有的浏览器完全支持。它当前处于 TC39 第四阶段草案(Stage 4)这个方法用于返回第一个成功的 promise 。只要有一个 promise 成功此方法就会终止,它不会等待其他的 promise 全部完成。 // 只要一个返回成功,即进入.then(),所有都失败就返回一个失败的 promise 和Aggr原创 2021-05-18 16:40:34 · 428 阅读 · 0 评论 -
ES2020的新特性
说在前面:ES2020(即 ES11)于(2020 年 6 月)已经正式发布,在此之前进入 Stage 4 的 10 项提案均已纳入规范,成为JavaScript 语言的新特性ES2020ESmodule迎来了一些增强import() : 一种可以用动态模块标识异步引入模块的语法ES module 是一套静态的模块系统静态加载:import/export 声明只能出现在顶层作用域,不支持按需加载和懒加载静态标识:模块标识只能是字符串字面量,不支持运行时动态计算而来的模块名语法 .原创 2020-09-22 11:04:04 · 632 阅读 · 0 评论 -
js生成验证码
在我们的项目中会遇到不少生成验证码的情况,我为了方便封装了一个函数Opt(str,n);参数解释: str:指我们生成的验证码在哪些范围生成,比如数字str="0123456789";或字母str="abcdefghijk...."当然也可以混合; n:指定生成的验证码位数function Opt(str,n){ var len = str.le...原创 2019-04-11 01:16:43 · 420 阅读 · 1 评论 -
十大排序算法时间复杂度和稳定性对比
相关术语:稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂度: 一个算法执行所耗费的时间。空间复杂度: 运行完一个程序所需内存的大小。...原创 2019-04-15 14:56:06 · 6111 阅读 · 0 评论 -
JS调试技巧
我们在调试代码时,往往追求优雅而高效的写代码,所以就出现了一系列调试代码的方法。这儿根据我的实际遇到的来讲讲这些调试方法。1、alert(不推荐使用) 不推荐使用的调试方法,那我为啥放第一个呢,因为这是初学者刚接触Js时的必经之路。优点:初学者入门(说笑了,现在来看,这个方法几乎没有啥优点)缺点: (1)、alert()会阻塞UI和js的执行,当运行的时候要关...原创 2019-06-21 10:48:07 · 808 阅读 · 0 评论 -
html meta标签相关属性设置
<!DOCTYPE html> H5标准声明,使用 HTML5 doctype,不区分大小写<head lang=”en”> 标准的 lang 属性写法<meta charset=’utf-8′> 声明文档使用的字符编码<meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″...原创 2019-07-25 14:14:55 · 282 阅读 · 0 评论 -
关于对象的key为另一对象的情况
问题描述:下面的代码中,c的值是多少?var a = {};var b = {};var c = {};c[a] = "123";c[b] = "456";console.log(c)分析: 我们都知道,对象的key不能是对象,而这儿的a和b都是对象,那么这样写c有值吗?那我们就来打印看看就知道了:结果就是这个样子了。那我们看到c的结构,不免就知道了,c的key值是...原创 2019-08-16 10:07:48 · 599 阅读 · 0 评论 -
关于数组中删除元素遇到的问题
数组中删除元素最开始的想法是调用数组的forEach()方法,根据条件找到的index索引删除该项问题:当删除一个元素时,不会发生意外,就可以这样操作,但是当删除数组中多个元素时,这样就会出错了,会出现有些项删不了的情况(还有可能报错)原因:我们的需求是将状态为status = 0 的项删除掉:思路一:那就forEach()遍历数组,找到对应的索引进行删除let lists = ...原创 2019-08-12 19:35:26 · 770 阅读 · 0 评论 -
关于js的严格模式限制--------use strict
ES6的模块自动采用严格模式,不管你有没有在模块头部上加上“use strict”严格模式主要有以下限制:* 变量必须声明后在使用* 函数的参数不能有同名属性,否则报错* 不能使用with语句* 不能对只读属性赋值,否则报错* 不能使用前缀0表示八进制数,否则报错* 不能删除变量delete prop,否则报错。只能删除属性delete global[prop]* ...原创 2019-08-27 09:30:40 · 393 阅读 · 0 评论 -
关于module的require和import的区别
require()/import命令/import()函数区别:require是运行时加载,即动态加载。而import命令是静态加载,在编译时就加载。 import()函数是动态加载,与require不同的是,import()函数返回一个promise,是异步加载。而require是同步加载。import()函数使用场景:按需加载button.addEventListener('c...原创 2019-08-27 10:14:35 · 638 阅读 · 0 评论 -
eslint相关配置..eslintrc.js文件
一般我们项目中会有一套严格的代码规范,这个eclint就是检查我们的代码是否符合规范,下面是较完整的相关配置eslint定义值含义0 禁用此规则1 不符合规则即给出警告2 不符合规则即报错{// 环境定义了预定义的全局变量。"env": {//环境定义了预定义的全局变量。更多在官网查看"browser":true,"node":true,"commonjs":true...原创 2019-09-23 17:01:33 · 533 阅读 · 0 评论 -
js数组方法
数组扁平化采用闭包function arrfun () { let result = []; return function arrFlat(arr) { arr.forEach(e => { if (e instanceof Array) { arrFlat(e); } else { ...原创 2019-09-30 15:31:01 · 199 阅读 · 0 评论 -
promise三种状态
一个promise可能有三种状态:等待(pending)、已完成(fulfilled)、已拒绝(rejected) 一个promise的状态只可能从“等待”转到“完成”态或者“拒绝”态,不能逆向转换,同时“完成”态和“拒绝”态不能相互转换 promise必须实现then方法(可以说,then就是promise的核心),而且then必须返回一个promise,同一个promise的then可以调...原创 2019-03-05 20:20:12 · 18280 阅读 · 4 评论 -
JS将字符串转换成大写/小写字母
var message="Hello world!";var x=message.toUpperCase();//toUpperCase()这个方法是把英文字母都变为大写字母var message="HELLO WORLD!";var x=message.toLowerCase();//toLowerCase()这个方法是把英文字母都变成小写字母...原创 2018-07-10 16:05:22 · 5063 阅读 · 0 评论 -
JS创建对象
1、直接创建对象 <script type="text/javascript"> person=new Object(); person.name="Joe"; person.age=39; person.weight=70; document.write(person.name+" is "+person.age+" years ol...原创 2018-07-10 16:35:18 · 129 阅读 · 0 评论 -
JavaScript Math对象常用数学方法
JS 中常用的数学方法:/*绝对值运算*/ Math.abs(-5); //5 Math.abs(5); //5 /*四舍五入运算*/ Math.round(2.6); //3 Math.round(2.4); //2 /*向上取整运算*/ Math.ceil(1.1); //2 Math.ceil(1...原创 2018-07-24 21:06:31 · 372 阅读 · 0 评论 -
js如何准确截取当前页面URL网址信息
今天在写项目时,用到了网址传id,发现自己都不怎么熟悉,然后就开始学习,找到了这篇文章,与大家共享;原文地址:https://www.jb51.net/article/82519.htm在WEB开发中,时常会用到javascript来获取当前页面的url网址信息举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1...原创 2018-07-25 17:04:33 · 11601 阅读 · 0 评论 -
js字符串常用处理函数
我们以micro-major163字符串为例1、charAt(索引值) //查找具体的位置"micro-major163".charAt(0); //返回m2、indexOf(searchValue[,fromIndex]) //返回索引位置,找不到时返回-1"micro-major".indexOf("-"); //返回5"micro-major-web".in...原创 2018-08-13 12:05:49 · 4112 阅读 · 0 评论 -
JS 2018.09.13训练题笔记
1、JavaScript程序中,alert(undefined == null)的输出结果是 ture; 解析:undefined值是派生自null值的,因此ECMA-262规定对它们的相等性测试要返回true。 ==仅判断值是否相同,undefined值和null是相同的,故true ===在判断值是否相同的同时还判断...原创 2018-09-13 12:16:24 · 2156 阅读 · 0 评论 -
常见前端面试问题汇总2018
转载请注明来源--------------------- 作者:MrCris 来源:优快云 原文:https://blog.youkuaiyun.com/weixin_37861326/article/details/80620576?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!2)2018/6/101. 如何解决跨域问题JSONP:原理是:动...转载 2018-10-11 20:32:48 · 820 阅读 · 0 评论 -
js中正则表达式test()方法
正则表达式即描述字符串规则的表达式/pattern/attrs /规则/属性 new RegExp(pattern,attrs)regexObj.test(str)方法:测试正则表达式与指定字符串是否匹配PS:test()方法只需要待测试字符串中包含了要测试的字符串就是ture1.匹配一段字符串/123456/.test("123456") //ture...原创 2018-10-08 12:45:51 · 15886 阅读 · 3 评论 -
JS Array对象方法
方法 描述 concat() 连接两个或更多的数组,并返回结果。 join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 pop() 删除并返回数组的最后一个元素 push() 向数组的末尾添加一个或更多元素,并返回新的长度。 reverse() 颠倒数组中元素的顺序。 shift() 删除并返回数组的第一个元...原创 2018-10-16 11:18:20 · 219 阅读 · 0 评论 -
牛客每日一练(2018.10.20)
1、给定二进制字符串,将其换算成对应的十进制数字时间限制:3秒 空间限制:32768K 热度指数:13677function base10(str) { /** 其它进制转十进制 parseInt(str,2) parseInt(str,8) parseInt(str,16) */ return pa...原创 2018-10-20 22:03:08 · 229 阅读 · 0 评论 -
call()、apply()、bind()函数的区别和用法
javaScript权威指南上的解释是: call() 、apply()可以看作是某个对象的方法,通过调用方法的形式来间接调用函数。bind() 就是将某个函数绑定到某个对象上。关于call() 和 apply() 在犀牛书上的解释可能比较生涩难懂,我的理解就是,它们的作用是: 让函数在某个指定的对象下执行。例:var obj = {x: 1}function foo() {co...原创 2018-10-21 20:45:42 · 1061 阅读 · 2 评论 -
ES6中 var 与 let 声明变量的异同
ES6提出了块作用域的概念,那么局部变量也应运而生var :声明全局变量let :只在let命令作用的代码块有效let命令声明的变量不存在变量提升: var命令声明的变量为全局变量,变量可以在声明前使用而不报错; 而let命令声明的变量必须在声明后才可以使用赋值等// var 的情况foo = 2;console.log(foo); // 输出2...原创 2018-12-05 16:16:08 · 307 阅读 · 0 评论 -
JS 获取元素内容
获取DOM元素的方法有8种通过ID获取(getElementById)通过name属性(getElementsByName)通过标签名(getElementsByTagName)通过类名(getElementsByClassName)获取html的方法(document.documentElement)获取body的方法(document.body)通过选择器获取一个元素(querySelecto...原创 2018-07-10 15:34:59 · 15639 阅读 · 0 评论