![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 65
后除
不知不问
展开
-
使用脚本整合指定文件/文件夹,执行定制化 ESLint 命令
描述了如何通过自定义脚本简化 ESLint 命令的执行。该脚本支持指定文件或文件夹,指定 ESLint 配置文件,附带命令,以及前后置执行命令等功能,极大地提高了代码检查和格式化的效率。原创 2023-11-01 23:22:03 · 603 阅读 · 0 评论 -
Node 项目通过 .npmrc 文件指定依赖安装源
`npm` 命令运行时,往往通过命令行指定相关配置,最常用的便是使用 `--registry` 来指定依赖的安装源。`.npmrc`(NPM Running Configuration)可以指定 `npm` 命令运行时的配置内容。原创 2022-12-11 22:59:13 · 5180 阅读 · 0 评论 -
npm/cnpm 设置镜像地址
npm查看当前镜像源:npm config get registry# https://registry.npmjs.org/修改当前镜像源:npm config set registry https://registry.npmjs.org/cnpm安装 cnpm:npm install cnpm -g查看当前镜像源:cnpm config get registry# https://registry.npm.example.com修改当前镜像源:cnpm confi原创 2022-05-28 22:02:08 · 1124 阅读 · 0 评论 -
PWA 实践/应用(Google Workbox)
PWA(Progressive Web App – 渐进式网页应用)是一种理念,由 Google Chrome 在 2015 年提出。PWA 它不是特指某一项技术,而是应用多项技术来改善用户体验的 Web App,其核心技术包括 Web App Manifest、Service Worker、Web Push 等,用户体验才是 PWA 的核心。原创 2022-03-11 14:27:24 · 1443 阅读 · 0 评论 -
Bootstrap实战 - 单页面网站
单页面结构简单、布局清晰,常常用来做手机 App 或者某个产品的下载介绍页面。现在,展示型网页整体趋向于单页网站设计,这样一次性把核心信息展现出来,对于用户来说更加直观和简单,能够快速了解一个产品。原创 2022-03-03 20:55:06 · 1171 阅读 · 0 评论 -
npm 直接安装 GitHub/GitLab 仓库代码及 npm link 本地调试
一、npm 直接安装 GitHub/GitLab 仓库代码语法npm install <git remote url>示例命令:npm i git@github.com:mazeyqian/mazey.git -S# 或npm i https://github.com/mazeyqian/mazey.git -S{ "name": "test", "version": "1.0.0", "description": "", "main": "index.js"原创 2022-03-03 11:37:27 · 2354 阅读 · 2 评论 -
Bootstrap实战 - 注册和登录
注册和登录在社交和商业网站中是必不可少的一个部分。原创 2022-01-13 22:50:29 · 4504 阅读 · 0 评论 -
Bootstrap实战 - 响应式布局
响应式布局就是一个网站能够兼容多个终端,而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而诞生的。导航栏与轮播在大部分网站的头部占很高的比重,特别是导航栏,扮演着网站地图的角色。在响应式布局中,要求导航栏能够根据终端屏幕大小显示不同的样式。原创 2022-01-11 23:42:10 · 2116 阅读 · 0 评论 -
前端性能和加载体验优化实践(附:PWA、离线包、内存优化、预渲染)
页面为何会卡?等待时间长?看起来卡?特别是对于首屏资源加载中的白屏时间,用户等待的时间就越长,用户感知到页面的速度就越慢。麻省理工学院的 Richard Larson 在讲话中指出,“人类将被动等待高估了 36%”。这意味着用户感觉到的等待时间比开发工具记录的长得多。原创 2021-12-28 15:24:26 · 3132 阅读 · 0 评论 -
JavaScript 跳出 iframe 框架
一、window.toptop 属性返回最顶层的先辈窗口。该属性返回对一个顶级窗口的只读引用。如果窗口本身就是一个顶级窗口,top 属性存放对窗口自身的引用。如果窗口是一个框架,那么 top 属性引用包含框架的顶层窗口。二、window.selfself 属性可返回对窗口自身的只读引用。等价于 Window 属性。三、window.locationwindow.location(MDN)对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。3.1 示例window.locatio原创 2021-11-27 23:03:58 · 2300 阅读 · 0 评论 -
[新]JavaScript 通过 preventDefault() 使 input[type=text] 禁止输入但保留光标
一、说明取消事件的默认动作。该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 submit,在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。二、语法event.preventDefault()三、示例3.1 阻止 <a> 元素跳转<a h原创 2021-11-25 23:19:26 · 861 阅读 · 0 评论 -
Promise + Async&Await + Array.reduce + 函数递归 解决网络/接口请求的依次/排队不间断间隔访问
背景试想在一个需要频繁更新数据的场景(例如:监控、图表类),常规方法是设置一个间隔 N 秒的定时器 setInterval;但是这种方式存在一个问题,当前一个请求时间过长时(超过了间隔时间),后一个请求的接口响应会先于前一个请求,也就是说,将导致旧的数据渲染会覆盖新的数据渲染。解决方案利用 Array.reduce 的迭代性,注册异步(Async)的匿名函数,在函数内部将网络请求封装成 Promise 实例,在整个迭代周期中等待(Await)前一个请求完成以后再请求后一个请求,完成一个请求周期以后递归原创 2021-11-15 10:53:45 · 965 阅读 · 0 评论 -
如何知道 window 的 load 事件已经触发
背景为了使页面加载更快,常常将一些不重要的第三方脚本在页面完成加载后进行懒加载。// 做一些不影响业务的事情window.addEventListener('load', () => { // 懒加载埋点分析 loadScript({ url: 'https://www.domain.com/test.js', timeout: 10000 }).then(() => { console.log('ok'); }).catch(console.err原创 2021-03-15 17:30:30 · 942 阅读 · 0 评论 -
前端常用库 CDN
本文介绍了前端开发中常用的一些库的 CDN 资源,包括 jQuery、Bootstrap、Vue.js 等流行框架和库。我们将探讨这些库的功能、使用方法以及如何通过 CDN 进行快速引入。通过使用 CDN,可以显著提高网站的加载速度和性能,为开发者提供便利。原创 2021-02-18 11:35:15 · 488 阅读 · 0 评论 -
使用 rollup 打包可按需加载的 NPM 包
安装 rollupnpm install rollup --save-dev配置文件 rollup.config.jsexport default { input: 'src/index.js', output: { file: 'lib/bundle.js', format: 'cjs' }};此时可以使用 npx rollup -c 来创建 bundle 了。配置插件安装插件 Babelnpm install @babel/core @babel/pres原创 2021-02-17 01:45:23 · 888 阅读 · 0 评论 -
webpack 4 快速搭建
安装npm install --save-dev webpack@4.30.0 webpack-cli@3.3.2更新 package.json 脚本"scripts": { "build": "webpack --config webpack.config.js"}更新目录结构 webpack-demo |- package.json+ |- webpack.config.js+ |- index.html+ |- /src+ |- index.js更新 we原创 2021-02-16 23:23:07 · 84 阅读 · 0 评论 -
Promise: 异步编程的理解和使用
Promise 最早出现在 1988 年,由 Barbara Liskov、Liuba Shrira 首创(论文:Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems)。并且在语言 MultiLisp 和 Concurrent Prolog 中已经有了类似的实现。原创 2020-07-05 17:59:02 · 1216 阅读 · 0 评论 -
JavaScript中typeof,instanceof,hasOwnProperty,in的用法和区别
一. typeof操作符typeof操作符用于返回正在使用值的类型。// 使用原始值let mNull = null;let mUndefined = undefined;let mString = 'mazey';let mNumber = 123;let mBoolean = true;let mFunction = function () { return原创 2017-12-03 11:53:20 · 969 阅读 · 0 评论 -
HTML5全屏浏览器兼容方案
最近一个项目有页面全屏的的需求,搜索了下有HTML5的全屏API可用,不过各浏览器的支持不一样。 标准 webkit Firefox IE Element.requestFullscreen() webkitRequestFullscreen mozRequestFullScreen msRequestFullscreen Document.exitFullscre原创 2018-01-02 11:57:52 · 1212 阅读 · 0 评论 -
JS邮箱验证-正则验证
输入:function check(){ var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"); var obj = document.getElementById("qc"); if(obj.value==""){原创 2017-05-16 17:08:41 · 421 阅读 · 0 评论 -
JavaScript-Confirm用法
function checkMobileBind() { if(confirm('您尚未绑定手机,是否前往绑定?')) { window.location='http://mazey.cn/'; } else { history.go(-1); } }原创 2017-05-16 17:10:51 · 610 阅读 · 0 评论 -
Vue+Vuex+Axios+ECharts 画一个动态更新的中国地图
一. 生成项目及安装插件# 安装vue-clinpm install vue-cli -g# 初始化项目vue init webpack china-map# 切到目录下cd china-map# 安装项目依赖npm install# 安装 vuexnpm install vuex --save# 安装 axiosnpm install axios --save原创 2017-12-03 11:39:43 · 8961 阅读 · 1 评论 -
JavaScript深入理解sort()方法
一. 基本用法let arr1 = [3, 5, 7, 1, 8, 7, 10, 20, 19]console.log(arr1.sort())// [1, 10, 19, 20, 3, 5, 7, 7, 8]如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以原创 2017-11-22 23:51:38 · 520 阅读 · 0 评论 -
JavaScript正则中\1\2的作用
一、示例1. 验证6个相同的数字var reg = new RegExp(/^(\d)\1{5}/g);var a = '333333';if(reg.test(a)) { alert('right');} else { alert('wrong');}2. 验证3个相同的数字+3个相同的字母var reg = new RegExp(/^(\d)\1{2}(原创 2017-10-23 18:44:02 · 1022 阅读 · 0 评论 -
JavaScript和jQuery改变标签内容
HTML:contentJavaScript:var mazey=document.getElementById("mazey");mazey.innerHTML=data;jQuery:$("#mazey").html(data);JavaScript和jQuery改变标签内容原创 2017-05-16 17:13:45 · 424 阅读 · 0 评论 -
JavaScript获取地址栏内容
例如地址为:http://www.mazey.net/baby/blog/index.php?a=1&b=2#cvar query = window.location.href; //http://www.mazey.net/baby/blog/index.php?a=1&b=2#cvar query = window.location.host; //www.mazey.net 1、wi原创 2017-05-16 17:13:38 · 700 阅读 · 0 评论 -
JavaScript遍历IP段内所有IP
思路:将两个IP转换为数字进行比较,小的那个慢慢加一,直到变成大的那个IP所转换的数字,将这其中的数字再转换为IP地址即为IP段内所有的IP。 1 //IP转数字 2 function ip2int(ip) 3 { 4 var num = 0; 5 ip = ip.split("."); 6 num = Number(ip[0]) * 256 * 256 *原创 2017-05-16 17:13:31 · 698 阅读 · 0 评论 -
Javascript-Switch
JavaScript Switch 语句请使用 switch 语句来选择要执行的多个代码块之一。语法switch(n){case 1: 执行代码块 1 break;case 2: 执行代码块 2 break;default: n 与 case 1 和 case 2 不同时执行的代码}工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每原创 2017-05-16 17:13:06 · 226 阅读 · 0 评论 -
Vue学习-基础语法
Vuev-if指令Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会为绑定的目标元素添加一些特殊的行为,我们可以将指令看作特殊的HTML特性(attribute)。v-if:v-if是条件渲染指令,它根据表达式的真假来删除和插入元素,它的基本语法如下:v-if="expression"expression是一个返回bool值的原创 2017-05-16 17:09:25 · 206 阅读 · 0 评论 -
JS分段传输数据
file://数据拆分,并放到相应的hidden域中,在Form的onSubmit事件中激发 function fnPreHandle() { var iCount; file://拆分为多少个域 var strData; file://原始数据 var iMaxChars = 50000;//考虑到汉字为双字节,域的最大字符数限制为50K var iBottleNeck = 1000原创 2017-05-16 17:09:02 · 764 阅读 · 0 评论 -
JS判断是否为数字或为空
function checkcc(){ var reg = new RegExp("^[0-9]*$"); var obj = document.getElementById("moneyc"); if(obj.value=="") { alert("不能为空!"); return false;原创 2017-05-16 17:08:10 · 2032 阅读 · 0 评论 -
JS获取网站StatusCode,若存在写入文件
JS获取网站状态码,若网站存在,写入TXT文件,适用于IE。//写文件 function writeFile(filename,filecontent){ var fso, f, s ; fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.OpenTe原创 2017-05-16 17:06:55 · 2099 阅读 · 0 评论 -
JavaScript-onerror事件:图片加载失败后不显示
HTML:JavaScript://加载失败隐藏图片function hideImg1(){ document.getElementById("img1").style.display="none";}function hideImg2(){ document.getElementById("img2").style.display="none";}说明:Jav原创 2017-06-02 09:35:07 · 2137 阅读 · 0 评论 -
JavaScript通过preventDefault()使input[type=text]禁止输入但保留光标
一、说明取消事件的默认动作。该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。原创 2017-07-12 20:34:04 · 2427 阅读 · 0 评论 -
原生JavaScript写AJAX
前端JavaScript:function ajaxGet(url, obj) { var request; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); } else { request = new ActiveXObject('Microsoft.XMLHTTP原创 2017-10-23 18:03:27 · 206 阅读 · 0 评论 -
JavaScript函数setInterval()和setTimeout()正确的写法
一、常规写法1.1 不传参数function a (x, y) { var i = 0; var b = function(){ console.log((x * y) + (i++)); } return b;}var c = a(1, 2);setInterval('c()', 1000);1.2 传参数function原创 2017-08-02 11:23:00 · 403 阅读 · 0 评论 -
JavaScript方法splice()和slice()
1 splice()1.1 说明splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。Link1.2 语法arrayObject.splice(index,howmany,item1,.....,itemX)参数index: 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。howmany: 必需。要删原创 2017-08-08 20:03:07 · 250 阅读 · 0 评论 -
JavaSctipt语句for循环的思考
一、语法for (语句 1; 语句 2; 语句 3) { 被执行的代码块;}语句 1: 在循环(代码块)开始前执行, 可选.语句 2: 定义运行循环(代码块)的条件, 可选, 如果省略了语句 2, 那么必须在循环内提供 break, 否则循环就无法停下来.语句 3: 在循环(代码块)已被执行之后执行, 可选.二、常规写法var arr = [1, 2, 3, 4, 5原创 2017-08-01 11:10:28 · 315 阅读 · 0 评论 -
ECMAScript6箭头函数ArrowFunction"=>"
一、说明ECMAScript6可以用箭头"=>"定义函数。x => x * x或(x) => {return x * x;}与匿名函数function(x){return x * x;}相等。二、示例2.1 没有参数的箭头函数var f = () => 9;console.log(f()); //92.2 一个参数的箭头函数var f = x => x * x;cons原创 2017-07-17 23:59:16 · 253 阅读 · 0 评论 -
JavaScript 点击事件:一个按钮触发另一个按钮
给按钮 2 添加点击事件 click 触发按钮 1 的点击事件,就算给按钮 1 添加样式 display: none; 或 visibility: hidden; 隐藏起来也能触发。原创 2017-05-16 17:10:34 · 15552 阅读 · 1 评论