JavaScript
文章平均质量分 71
飞扬_柳絮
如果,你正在埋怨命运不眷顾,那请记住:命,是失败者的借口;运,是成功者的谦词!
展开
-
nvm 安装【Mac M1】及使用
nvm 安装及使用原创 2022-06-21 17:38:08 · 2181 阅读 · 0 评论 -
移动端Web开发调试之真机连调(安卓、iphone)
移动端Web开发调试之Chrome远程调试(Remote Debugging)原创 2022-06-15 22:38:43 · 3335 阅读 · 0 评论 -
window上搭建npm私仓(verdaccio)
window上搭建npm私仓(verdaccio)搭建npm私库1、安装verdaccio首先电脑上要安装有nodejs【具体安装流程请自行网上搜索】npm install -g verdaccio --unsafe-perm如下图所示:安装完成后如果没有提示错误则表示安装2、启动verdaccio3、修改配置文件 config.yaml3.1 在配置文件的末尾添加listen: 0.0.0.0:4873【配置此选项则是允许任何外部的所有IP都可以访问到此服务】3.2 配置npm原创 2022-03-02 11:00:23 · 1794 阅读 · 0 评论 -
JavaScripts 数组 Json相关
Json 常用方法json --> 数组let jsonObj = {'未完成':5, '已完成':8, '待确认':4, '已取消':6};let arr = []for (let i in jsonObj) { let item = {}; item[i] = jsonObj[i]; arr.push(item);}console.log(arr); // [{未完成: 5},{已完成: 8},{待确认: 4},{已取消: 6}]获取json对象长度let原创 2021-06-02 16:08:54 · 276 阅读 · 0 评论 -
axios 请求数据格式
Payload(默认) Content-Type: ‘application/json; charset=utf-8’ 【序列化的JSON字符串】 let data = { name: “jack”, sex: “man”}; 提交数据格式:JSON.stringify(data)备注:ajax 默认请求格式; axios会发两个请求,第一个是options,然后再就是实际的请求方式。Form Data Content-Type: ‘application/x-www-form-url原创 2021-05-31 19:08:50 · 489 阅读 · 0 评论 -
localStorage 跨域存储方案
实际开发需求: A域名网页 --> B域名网页传值 解决方案: window.postMessage 和 iframe相结合的方法window.postMessage(message, targetOrigin) message: 将要发送到其他 window的数据,在传递参数时需要使用JSON.stringify()方法对参数序列化 targetOrigin:指定哪些窗口能接收到消息事件,其值可以是字符串"*"(表示无限制)或者一个URI。在发送消息的时候,如果目标窗口的协议...原创 2021-02-07 16:00:01 · 6270 阅读 · 0 评论 -
正则表达式
1、什么是正则表达式 正则表达式是一个强大的字符串匹配工具,通常被用来检索、替换那些符合某个模式(规则)的文本。原创 2020-11-24 20:58:02 · 168 阅读 · 0 评论 -
URL中的#
URL中的#:https://juejin.im/post/6844903705809010696转载 2020-08-14 13:58:04 · 123 阅读 · 0 评论 -
JavaScript 编码&解码
解码url里的gbk汉字编码function urldecode(str, charset, callback) { window._urlDecodeFn_ = callback; var script = document.createElement('script'); script.id = '_urlDecodeFn_'; var src = 'data:text/javascript;charset=' + charset + ',_urlDecodeFn_("' + st原创 2020-08-07 22:07:37 · 171 阅读 · 0 评论 -
Flv.js + OBS 实现直播
环境准备: win10 Nginx https://nginx.org/en/download.html LiveGo https://github.com/gwuhaolin/livego/releases OBS https://obsproject.com/ Flv.js https://github.co...原创 2020-03-31 21:17:26 · 1398 阅读 · 0 评论 -
JavaScript 小记
isNaN() : 判断是否是数字function isRealNum(val){ // 1、空串 空格 NULL 会被当做数字(需去除) if(val === "" || val ==null){ return false; } // 2、空数组、只有一个数值成员的数组、全是数字组成的字符串会被当成数字([]、[2]、['123']、'123') //如果不需要val...原创 2020-02-28 16:16:14 · 154 阅读 · 0 评论 -
Js 精确获取Dom元素宽度/高度
css像素解析: 四舍五入解析的浏览器:IE8、IE9、Chrome、Firefox 直接取整解析的浏览器:IE7、Safari获取元素精确的宽度/高度(带小数位像素) 问题:document.getElementById(id).style.width 只能获取元素行内样式的值 解决办法一: window.getComputedStyle(element)...原创 2019-08-29 14:23:44 · 2691 阅读 · 1 评论 -
js 回调 + promises
回调:回调是一个函数被作为一个参数传递到另一个函数里,在那个函数执行完后再执行(存在同步、异步)同步回调:function A(callback){ console.log("I am A"); callback(); //调用该函数}function B(){ console.log("I am B");}A(B);异步回调: 因为Java...原创 2019-06-24 15:21:08 · 1183 阅读 · 0 评论 -
var、let、const、this
Js 作用域:全局作用域、函数作用域、块作用域(es6);var let 区别1、作用域不同:var 函数作用域;let、const 块作用域相关参考:JS中全局作用域与局部作用域的理解 深入理解js的变量提升和函数提升/*var 函数作用域 * if、for属于块作用域 */if(true) { var a = 3;}console.log(a); // 3f...原创 2019-05-23 19:44:07 · 504 阅读 · 0 评论 -
aes 对称加密算法 && rsa 非对称加密算法
aes 对称加密算法 加密和解密用到的密钥是相同的,这种加密方式加密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦。 密钥长度可以为16,24或者32字节(128,192,256位)。根据密钥的长度,算法被称为AES-128,AES-192或者AE-256。rsa 非对称加密算法 加密和解密用的密钥是不同的,通常加密解密的速度比较慢,适合偶尔发送数据的场合。优...原创 2018-12-10 11:43:28 · 1174 阅读 · 0 评论 -
禁止遮罩层以下屏幕滑动
在web开发时,常有弹窗 + 蒙层遮罩的需求,这时遮罩下页面往往是可以滑动的,为了良好的客户体验,页面的滑动需要被禁止根据弹窗的内容是否可以滑动,有2种不同的方式可供处理:1) 弹窗内容不滑动$('html,body').on("touchmove",function(e) { e.preventDefault();})2) 弹窗内容滑动body,html{wight...原创 2018-12-10 11:11:17 · 1234 阅读 · 0 评论 -
popstate 监听app、浏览器的返回
在实际开发中,遇到需要在当前web页面监听app、浏览器返回的情况,进过一顿搜索后,终于找到一种比较靠谱的方式!下面话不多说,直接上代码:<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="initial-原创 2018-11-15 22:26:40 · 8292 阅读 · 1 评论 -
js、jQuery获取各种宽高
js、jQuery获取各种宽高js获取各种宽高第一部分:DOM对象1.1只读属性 DOM节点的固有属性,只能通过js去获取不能设置,而且获取的值是只有数字不带单位的 1)clientWidth、clientHeight 元素的可视部分宽度和高度(padding+content),如果没有滚动条,即为元素设定的高度和宽度,如果有滚动条,滚动条会遮盖元素的宽高,那么该属性就是元素本来宽高减原创 2017-03-25 22:13:12 · 710 阅读 · 0 评论 -
Dom动态添加事件,不能使用循环变量的问题
代码示例:<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <ul class="examp原创 2017-08-09 18:34:50 · 891 阅读 · 0 评论 -
Cookie 简介、基本操作
Cookie 简介、基本操作什么是 Cookie cookie 存储于访问者的计算机中,用于客户端计算机与服务器之间传递信息Cookie常用属性:Cookie 基础知识大小限制:每个 cookie 所存放的数据不能超过4kb,如果 cookie 字符串的长度超过4kb,则该属性将返回空字符串 存储形式:<名>=<值>,名称和值都必须是合法的标示符,以文件形式存放在客户端计算机中,查看和修改 co原创 2017-03-10 17:26:03 · 385 阅读 · 0 评论 -
JavaScript 如何减少if else语句的使用
在js开发中,如何减少if else语句的使用情况1: if(a为真){ a = a; }else{ a = b; }可写成: a = a || b;情况2:if(a == b){ a = c;}else{ a = d;}可写成:a = (a == b) ? a : d;情况3:后端返回数据,前端根据状态进行不同操作$.ajax().done(functi原创 2017-03-09 00:31:34 · 2375 阅读 · 2 评论 -
时分秒倒计时 实现
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="initial-scale原创 2017-09-29 11:01:59 · 558 阅读 · 0 评论 -
文件上传的渐进式增强
1、传统形式:使用表单元素file<form id="upload-form" action="upload.php" method="post" enctype="multipart/form-data" > <input type="file" id="upload" name="upload" /> <br /> <input type="submit" value="Upl原创 2017-10-17 20:48:19 · 247 阅读 · 0 评论 -
对象属性名不加引号与加引号的区别
js 变量的命名规则 标识符只能由字母、数字、下划线和‘$’组成 数字不可以作为标识符的首字符(纯数字除外:js会自动将数字转化为字符串类型) JSON 语法: 是 JavaScript 对象表示法语法的子集 1、非数字型键值必须双引号 2、json 值 : 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false)原创 2017-10-27 21:38:17 · 8530 阅读 · 0 评论 -
前端验证码
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no" /> <script src="http://zeptojs.co原创 2017-11-01 15:34:34 · 386 阅读 · 0 评论 -
移动前端图片压缩 + Dom元素保存成图片
移动端压缩图片并且上传基本流程: 1、input file上传图片时,filereader读取上传的图片数据(base64格式) 2、将图片数据传入img对象,然后把img绘制到canvas上,调用canvas.toDataURL对图片进行压缩 3、获取到压缩后的base64格式图片数据,转成二进制塞入formdata,再上传 上代码:<!DOCTYPE html><html>原创 2017-11-16 16:06:31 · 936 阅读 · 0 评论 -
JS事件机制:事件绑定、事件监听、事件委托(代理)和事件执行顺序总结
JS 对于用户的操作做出响应,就必须对DOM元素绑定事件处理函数事件绑定 1、在DMO中直接绑定事件&amp;amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;click me&amp;quot; onclick=&amp;quot;hello()&amp;quot;/&amp;amp;gt原创 2017-12-07 11:43:50 · 1246 阅读 · 0 评论 -
Date日期格式转换、日期大小比较
Date() 返回格式Thu Jan 11 2018 14:14:47 GMT+0800 (中国标准时间)1、标准时间 –> yyyy-MM-dd hh:mm:ssvar formatDateTime = function (date) { var y = date.getFullYear(); var m = date.getMonth() + 1; m = m原创 2018-01-11 14:51:53 · 1249 阅读 · 0 评论 -
什么是跨域?如何解决跨域问题?
什么是跨域?浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 域名: 主域名不同 http://www.baidu.com/index.html –&gt;http://www.sina.com/test.js 子域名不同 http://www.666.baidu.com/index.html –&gt;http://www.555.baidu.co...原创 2017-07-31 20:29:48 · 127389 阅读 · 7 评论 -
移动端touch click事件的比较 + 点透现象
移动端touch click事件的比较 1、touch click事件的执行顺序: touchstart > touchmove > touchend > click 2、touchmove click事件互斥,即touchmove触发执行,click事件不再执行 3、touch阶段取消掉 click 事件 touch事件内调用:e.preven...原创 2018-06-27 22:16:22 · 1068 阅读 · 0 评论 -
Web 端获取地理位置
HTML5 Geolocation APIif (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var latitude = position.coords.latitude; var longitude = position...原创 2018-10-07 22:14:44 · 1460 阅读 · 0 评论