时间对象的处理方法前两天自己写了一个时间格式化的方法,将时间戳格式化为yy-dd-mm 的格式,我用的是 date 对象的 toJSON()方法,加一些正则替换实现的时间格式化。在测试的过程中,发现一个奇怪的 bug,发现在一些同事的手机上会出现时间少一天的情况,一些同事的时间显示格式不一样,我猜测可能是 date 对象的原因,于是想起几个月前了解的Intl.DateTimeFormat()方法,这是一个js 内置的国际化时间格式方法,果然用了他就标准了,
12var options={year: 'numeric', month: '2-digit', day: '2-digit' };let mydate = new Intl.DateTimeFormat('zh-CN',options).format(value)
浏览器记住密码的自动填充这个确实挺烦的,而且经常遇到,自己做的时候也花了蛮多时间的,百度上说了各种解决办法,有多写了个输入框,然后隐藏的,有有的说在input上加 ...
Hello,各位编程的小伙伴,当我们在写CSS的时候,我们可以手写CSS,也可以直接使用一些CSS生成器来完成,今天小编整理了一些CSS生成器工具与大家分享,可以帮助大家在工作上提升效率。
1.纯CSS条纹生成器
网址:https://stripesgenerator.com
没有 Flash,没有图像,只有 CSS,仅使用 CSS 生成条纹背景。
2. CSS 手风琴滑块生成器
网址:https://accordionslider.com
此工具可帮助你创建完全响应的、仅 CSS(无 javascript)的手风琴滑块。
3. Blob Maker
网址:https://www.blobmaker.app
此工具可帮助你创建不同的不寻常形状,并允许你复制和下载 SVG 文件。
4.CSS渐变生成器
网址:https://cssgradient.io
作为免费的 CSS 渐变生成器工具,该网站可让你为你的网站、博客或社交媒体资料创建彩色渐变背景。
5. 背景生成器
网址:http://www.patternify.com
此工具可帮助您免费创建背景图案。
6.Getwaves ...
数据大屏适配方案 (scale)
大屏之关键-前期的自适应适配
根据 ui 稿绘制图表,调细节
而解决了适配问题后,后面就只是一个慢工出细活,耗时间的事情了。
适配方案分析看了网上的各种方案,目前大家采用的大概有 2 种👇
方案
实现方式
优点
缺点
vm vh
1.按照设计稿的尺寸,将px按比例计算转为vw和vh
1.可以动态计算图表的宽高,字体等,灵活性较高 2.当屏幕比例跟 ui 稿不一致时,不会出现两边留白情况
1.每个图表都需要单独做字体、间距、位移的适配,比较麻烦
scale
1.通过 scale 属性,根据屏幕大小,对图表进行整体的等比缩放
1.代码量少,适配简单 2.一次处理后不需要在各个图表中再去单独适配
1.因为是根据 ui 稿等比缩放,当大屏跟 ui 稿的比例不一样时,会出现周边留白情况 2.当缩放比例过大时候,字体会有一点点模糊,就一点点 3.当缩放比例过大时候,事件热区会偏移。
vw vh什么是vw和vh
vw和vh他们是一个相对单位(类似em和rem)
vw是:viewport width 视口宽度单位vh是: viewport ...
什么是 Python?Python 是一门流行的编程语言。它由 Guido van Rossum 创建,于 1991 年发布。
它用于:
Web 开发(服务器端)
软件开发
数学
系统脚本
Python 可以做什么?
可以在服务器上使用 Python 来创建 Web 应用程序。
Python 可以与软件一起使用来创建工作流。
Python 可以连接到数据库系统。它还可以读取和修改文件。
Python 可用于处理大数据并执行复杂的数学运算。
Python 可用于快速原型设计,也可用于生产就绪的软件开发。
为何选择 Python?
Python 适用于不同的平台(Windows、Mac、Linux、Raspberry Pi 等)。
Python 有一种类似于英语的简单语法。
Python 的语法允许开发人员用比其他编程语言更少的代码行编写程序。
Python 在解释器系统上运行,这意味着代码可以在编写后立即执行。这也意味着原型设计可以非常快。
Python 可以以程序方式、面向对象的方式或功能方式来处理。
请您知晓Python 的最新主要版本是 Python 3,我们将在本教程中使 ...
前端开发
未读前端AI语音方面的实现webkitSpeechRecognition(语音识别)1234567891011121314151617181920212223242526272829303132// 创建一个webkitSpeechRecognition实例let newRecognition = new webkitSpeechRecognition();// 设置识别到声音就关闭还是一直识别newRecognition.continuous = true;// 开启录音newRecognition.start();// 关闭录音newRecognition.stop();// 识别到结果即触发,所以讲话过程多次停顿的情况下会触发多次newRecognition.onresult = function(event) { console.log(event);}// 基本以上就已经达到了语音转文字的功能,下面是一些其他事件//只要开始讲话了,就会触发onsoundstart和onspeechstart事件newRecognition.onsoundstart = ...
3.1 promise和 async await 区别参考答案:
概念Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大,简单地说,Promise好比容器,里面存放着一些未来才会执行完毕(异步)的事件的结果,而这些结果一旦生成是无法改变的
async await也是异步编程的一种解决方案,他遵循的是Generator 函数的语法糖,他拥有内置执行器,不需要额外的调用直接会自动执行并输出结果,它返回的是一个Promise对象。
两者的区别
Promise的出现解决了传统callback函数导致的“地域回调”问题,但它的语法导致了它向纵向发展行成了一个回调链,遇到复杂的业务场景,这样的语法显然也是不美观的。而async await代码看起来会简洁些,使得异步代码看起来像同步代码,await的本质是可以提供等同于”同步效果“的等待异步返回能力的语法糖,只有这一句代码执行完,才会执行下一句。
async await与Promise一样,是非阻塞的。
async await是基于Promise实现的,可以说是改良版的Promise,它不能用于普通的 ...
html1.1 html标签的类型(head, body,!Doctype) 他们的作用是什么参考答案:
!DOCTYPE 标签:
它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令.
head:
是所有头部元素的容器, 绝大多数头部标签的内容不会显示给读者
该标签下所包含的部分可加入的标签有,,,,和
body :
用于定义文档的主体, 包含了文档的所有内容
该标签支持 html 的全局属性和事件属性.
1.2 h5新特性参考答案:
新增选择器 document.querySelector、document.querySelectorAll
拖拽释放(Drag and drop) API
媒体播放的 video 和 audio
本地存储 localStorage 和 sessionStorage
离线应用 manifest
桌面通知 Notifications
语意化标签 article、footer、header、nav、section
增强表单控件 calendar、date、time、email、url、search
地理位置 Geolocat ...
2.1 打包,webpack和gulp的区别参考答案:
Gulp:
Gulp是一个自动化构建工具,强调的是前端开发的流程,通过配置一系列的task,定义task处理的事物,然后定义执行顺序,来让Gulp执行task,从而构建前端项目的流程,说白了就是用来打包项目。
不管做什么功能,都有一个统一的接口进行管理,必须去注册一个任务,然后去执行,这也是它的特点之一,即“任务化”。
WebPack:
WebPack是一个前端模块化方案,侧重模块打包,把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和plugins(插件)对资源进行处理,打包成符合生产环境部署的前端资源,Gulp也可以配置seajs、requirejs甚至webpack的插件。
它会分析你的项目结构,找到JS模块以及那些浏览器不能够直接运行的扩展语言(如:TypeScript等),然后将其转换和打包为合适的格式供浏览器使用。它最大的优点就是“模块化”(万物皆模块)。相同点:
都可以对文件进行合并与压缩(JS、CSS)。
不同点:
Gulp是构建工具,可以配合各种插件做css.压缩等, ...
6.1 es6中箭头函数参考答案:
基本语法
ES6中允许使用箭头=>来定义箭头函数,具体语法,我们来看一个简单的例子:
1234567891011// 箭头函数let fun = (name) => { // 函数体 return `Hello ${name} !`;};// 等同于let fun = function (name) { // 函数体 return `Hello ${name} !`;};
可以看出,定义箭头函在数语法上要比普通函数简洁得多。箭头函数省去了function关键字,采用箭头=>来定义函数。函数的参数放在=>前面的括号中,函数体跟在=>后的花括号中。
关于箭头函数的参数:
① 如果箭头函数没有参数,直接写一个空括号即可。
② 如果箭头函数的参数只有一个,也可以省去包裹参数的括号。
③ 如果箭头函数有多个参数,将参数依次用逗号(,)分隔,包裹在括号中即可。
1234567891011 ...
数组去重参考答案:
1. 利用ES6 Set去重(ES6中最常用)123456function unique (arr) { return Array.from(new Set(arr))}var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];console.log(unique(arr)) //[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {}, {}]
不考虑兼容性,这种去重的方法代码最少。这种方法还无法去掉“{}”空对象,后面的高阶方法会 ...