JS杂项
js相关
wflynn
研究代码中...将随缘更新
展开
-
js判断是PC端还是手机端
var _$=["Win", "Mac", "X11", "http://xw.qq.com"]; var is_win=navigator["platform"]["indexOf"](_$[0])==0; var is_mac=navigator["platform"]["indexOf"](_$[1])==0; var is_x11=(navigator["platform"]==_$[2]); if(is_win==1||is_mac==1||is_x11==1){ loca.原创 2021-02-03 20:34:43 · 387 阅读 · 0 评论 -
新版本echarts init报错
更改引入方式为import * as echarts from 'echarts';原创 2021-03-10 09:52:14 · 942 阅读 · 1 评论 -
element-ui时报错Cannot find module ‘core-js/library/fn/object/assign
安装依赖yarn add [email protected] / npm [email protected]就可以解决问题了!原创 2021-01-18 23:29:22 · 1636 阅读 · 0 评论 -
简单的两个数组取以及找出不同项
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.10.0/jquery.min.js" type="text/javascript"></script></head&g.原创 2021-02-03 20:22:49 · 1155 阅读 · 0 评论 -
js实现生肖星座年龄余年计算
判断是否是余年getSpecialDays(y) { // 判断是否是余年 if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) { return 29 } return 28},生肖计算getShengXiao(birth) { // 生肖计算 birth += '' var len = birth.length if (len < 4 && len != 2.原创 2020-05-19 09:54:20 · 386 阅读 · 0 评论 -
js判断当前手机是安卓还是IOS
是否是IOSisIos() { var ua = navigator.userAgent.toLocaleLowerCase() var u = navigator.userAgent var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端 return isIOS},是否是安卓isAndroid() { var ua = navigator.userAgent.toLo.原创 2020-05-27 09:25:38 · 2039 阅读 · 0 评论 -
操作URL的黑科技
处理URL的query的接口:URLSearchParams// 处理URL的query的接口:URLSearchParams// 简单使用let url = '?wd=胡歌&love=fx&year=2020';let searchParams = new URLSearchParams(url);for (let p of searchParams) { console.log(p);}// ["wd", "胡歌"]// ["love", "fx"]/...原创 2020-07-02 08:38:04 · 190 阅读 · 0 评论 -
js / css 设置div不可点击
css:.notclick{pointer-events: none;}js:$("#divID"/".divClass").addClass("notclick");//设为不可点击$("#divID"/".divClass").removeClass("notclick");//移除不可点击原创 2020-04-15 14:16:52 · 2476 阅读 · 0 评论 -
js实现文字竖向滚动
代码已上传至githubgithub代码地址:https://github.com/Miofly/mio.git移动端适配<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=devi...原创 2020-04-30 10:50:58 · 1381 阅读 · 0 评论 -
微信公众号网页开发jweixin.js的使用
const timestamp = parseInt(new Date().getTime() / 1000) const str = `jsapi_ticket=HoagFKDcsGMVCIY2vOjf9txntvvkykCDEPmzHimZjoxSzowS5ie_l1iIfXdvXDe1CE92az7m0eZtkwiK8lFOSA&noncestr=Wm3WZ...原创 2020-03-24 11:22:27 · 19562 阅读 · 0 评论 -
webstorm配置本机IP使手机能打开pc端界面
查看本机IP => win + r => cmd => ipconfig红色选框即为本机IP地址以太网适配器 以太网: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::38d9:c8d:44c1:a122%17 IPv4 地址 . . . . . . . . . . ....原创 2020-03-27 17:50:46 · 281 阅读 · 0 评论 -
JavaScript 里分号是必须的吗?
有时由于 JavaScript 的分号自动插入机制,解释器会在多数语句后放置分号。这就意味着在大多数情况下分号可以被忽略然而,有些情况分号是必须的。在块的开始不需要加分号,但是如果它们遵循在一行并且:行的开始是[const previousLine = 3;[1, 2, previousLine].map(n => n * 2)行的开始是(const previou...原创 2019-12-26 17:07:56 · 1212 阅读 · 0 评论 -
节流
节流的原理很简单:如果你持续触发事件,每隔一段时间,只执行一次事件。根据首次是否执行以及结束后是否执行,效果有所不同,实现的方式也有所不同。我们用 leading 代表首次是否执行,trailing 代表结束后是否再执行一次。关于节流的实现,有两种主流的实现方式,一种是使用时间戳,一种是设置定时器。第一种方法:使用时间戳,当触发事件的时候,我们取出当前的时间戳,然后减去之前的时间...原创 2019-12-30 16:45:37 · 455 阅读 · 0 评论 -
在考虑闭包的情况下JS变量存储在栈与堆的区分
变量存储在闭包中的问题按照常理来说栈中数据在函数执行结束后就会被销毁,那么 JavaScript 中函数闭包该如何实现,先简单来个闭包:function count () { let num = -1; return function () { num++; return num; }}let numCount = count...原创 2019-11-28 10:33:05 · 2630 阅读 · 5 评论 -
执行上下文详解
当执行 JS 代码时,会产生三种执行上下文全局执行上下文 函数执行上下文 eval 执行上下文每个执行上下文中都有三个重要的属性变量对象(VO),包含变量、函数声明和函数的形参,该属性只能在全局上下文中访问 作用域链(JS 采用词法作用域,也就是说变量的作用域是在定义时就决定了) thisvar a = 10function foo(i) { var b = 20}...原创 2019-11-28 15:08:27 · 439 阅读 · 0 评论 -
JS实现二分搜索
二分查找的前提为:数组、有序。逻辑为:优先和数组的中间元素比较,如果等于中间元素,则直接返回。如果不等于则取半继续查找。非递归实现function binarySearch(arr, target){ var h = arr.length - 1, l = 0; while(l <= h){ var m = Math.floor((h...原创 2019-11-28 16:40:15 · 165 阅读 · 0 评论 -
正则表达式
正则表达式中的特殊字符字符 含义 \ 依照下列规则匹配: 在非特殊字符之前的反斜杠表示下一个字符是特殊字符,不能按照字面理解。例如,前面没有 "\"的 "b"通常匹配小写字母 "b",即字符会被作为字面理解,无论它出现在哪里。但如果前面加了 "\",它将不再匹配任何字符,而是表示一个字符边界。 在特殊字符之前的反斜杠表示下一个字符不是特殊字符,应该按...原创 2019-12-04 16:40:29 · 157 阅读 · 0 评论 -
JS事件冒泡与捕获
DOM事件流事件流所描述的就是从页面中接受事件的顺序。 DOM事件流(event flow )存在三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。 浏览器在为这个当前页面与用户做交互的过程中,比如我点击了这个鼠标左键,这个左键是怎么传到页面上。还有怎么响应的。事件流分三个阶段,第一阶段是捕获,第二阶段是目标阶段,比如点击的这个按钮,这个按钮就是目标阶段,事件通过捕获到达目标元素,就到达...原创 2019-11-14 11:18:00 · 119 阅读 · 0 评论 -
js操作DOM为什么会影响性能
DOM是什么?DOM(Document Object Model——文档对象模型)是用来呈现以及与任意 HTML 或 XML文档交互的API。DOM 是载入到浏览器中的文档模型,以节点树的形式来表现文档,每个节点代表文档的构成部分(例如:页面元素、字符串或注释等等)。在浏览器中主要用于与HTML文档打交道,并且使用DOM API用来访问文档中的数据。DOM的作用DOM 将HTML文...原创 2019-11-18 14:30:02 · 1610 阅读 · 0 评论 -
js全局对象Infinity
全局属性Infinity是一个数值,表示无穷大。Infinity 的初始值是 Number.POSITIVE_INFINITY。Infinity(正无穷大)大于任何值。该值和数学意义上的无穷大很像,例如任何正值乘以 Infinity 为 Infinity, 任何数值(除了Infinity 和 -Infinity)除以 Infinity 为 0。console.log(Infinity...原创 2019-11-22 10:12:12 · 229 阅读 · 0 评论 -
JS全局内置对象NaN
全局属性NaN的值表示不是一个数字(Not-A-Number)。 NaN属性的初始值就是 NaN,和Number.NaN的值一样判断一个值是否是NaN:等号运算符(== 和 ===) 不能被用来判断一个值是否是 NaN。必须使用 Number.isNaN() 或 isNaN() 函数。在执行自比较之中:NaN,也只有NaN,比较之中不等于它自己。NaN == NaN; ...原创 2019-11-22 10:23:18 · 117 阅读 · 0 评论 -
Js内置对象Error详解
Error对象当代码运行时的发生错误,会创建新的Error对象,并将其抛出。通过Error的构造器可以创建一个错误对象。当运行时错误产生时,Error的实例对象会被抛出。Error对象也可用于用户自定义的异常的基础对象。下面列出了各种内建的标准错误类型。Error作为函数使用:当像函数一样使用 Error 时 -- 如果没有 new,它将返回一个Error对象。所以,仅仅调用...原创 2019-11-01 15:08:16 · 1041 阅读 · 0 评论 -
break关键字
break语句中止当前循环,并把程序控制流转到紧接着被中止语句后面的语句。: 可选,与语句标签相关联的标识符。如果break语句不在一个循环或switch语句中,则该项是必须的。break语句不能在function函数体中直接使用,break语句应嵌套在要中断的当前循环、switch或label语句中。原创 2019-10-08 11:21:55 · 282 阅读 · 0 评论 -
for循环详解
for语句用于创建一个循环,它包含了三个可选的表达式,这三个表达式被包围在圆括号之中,使用分号分隔,后跟一个用于在循环中执行的语句。原创 2019-09-25 15:43:14 · 605 阅读 · 0 评论 -
JavaScript常用转义字符
\' 单引号 \" 双引号 \\ 反斜杠 \n 换行\r 回车 \t tab(制表符)\b 退格符\f 换页符原创 2019-09-23 14:55:09 · 988 阅读 · 0 评论 -
JS 防抖 实现
在前端开发中会遇到一些频繁的事件触发,比如:window 的 resize、scroll mousedown、mousemove keyup、keydown<!DOCTYPE html><html lang="zh-cmn-Hans"><head> <meta charset="utf-8"> <meta ht...原创 2019-12-05 15:34:55 · 389 阅读 · 0 评论 -
为什么在JavaScript中0.1+0.2不等于0.3?
0.1+0.2不等于0.3?是不是有点颠覆你的认知,但是,在js中,是真实存在的!console.log(0.1+0.2); // 0.30000000000000004其实这都是因为浮点数运算的精度问题。简单来说,因为计算机只认识二进制,在进行运算时,需要将其他进制的数值转换成二进制,然后再进行计算。由于浮点数用二进制表达时是无穷的:// 将0.1转换成二进制cons...原创 2019-11-25 11:23:51 · 623 阅读 · 0 评论 -
encodeURI、encodeURIComponent、decodeURI、decodeURIComponent使用方法
encodeURI() 函数通过将特定字符的每个实例替换为一个、两个、三或四转义序列来对统一资源标识符 (URI) 进行编码 (该字符的 UTF-8 编码仅为四转义序列)由两个 "代理" 字符组成)。语法:encodeURI(URI) URI:一个完整的URI.返回值:一个新字符串, 表示提供的字符串编码为统一资源标识符 (URI)。encodeURI会替换所有的...原创 2019-11-23 13:53:04 · 366 阅读 · 0 评论 -
详解JavaScript垃圾回收机制
垃圾回收机制JS的垃圾回收机制是为了以防内存泄漏,内存泄漏的含义就是当已经不需要某块内存时这块内存还存在着,垃圾回收机制就是间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。var a = 'before'var b = 'override a'var a = b // 重写a这段代码运行之后,“before”这个字符串失去了引用(之前是被a引用),系统检测到这个事实...原创 2019-10-09 16:03:34 · 308 阅读 · 0 评论 -
cookie和session的区别
为什么需要cookie:HTTP是无状态协议,这就回出现这种现象:当你登录一个页面,然后转到登录网站的另一个页面,服务器无法认识到。或者说两次的访问,服务器不能认识到是同一个客户端的访问,这就让你重复登录,所以产生了cookie。每个特定域名下面的cookie数量是有限制的,fixfox是50个,Opera是30个,chrome和safari是没有限制的cookie:存储于访问者的计算机中的...原创 2019-10-11 15:18:51 · 141 阅读 · 0 评论 -
JS中钩子函数与回调函数的区别
测试代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <button id="btn">按钮</button&g...原创 2019-10-30 09:46:11 · 598 阅读 · 0 评论 -
JavaScript回调函数详解
回调函数回调函数就是传递一个参数化的函数,就是将这个函数作为一个参数传到另一个主函数里面,当那一个主函数执行完之后,再执行传进去的作为参数的函数。这个过程的参数化的函数就叫做回调函数。换个说法也就是被作为参数传递到另一个函数(主函数)的那个函数。回调函数并不会马上被执行。它会在包含它的函数内的某个特定时间点被“回调”function zxxFnOne () { console.l...原创 2019-09-25 09:51:50 · 420 阅读 · 0 评论 -
详解JavaScript中的内存溢出/内存泄漏
内存溢出一种程序运行出现的错误当程序运行需要的内存超过了剩余的内存时,就抛出内存溢出的错误在浏览器执行以下代码就会造成内存溢出var obj = {}for (var i = 0; i < 100000; i++) { obj[i] = new Array(10000000)}console.log('------')内存泄漏什么叫内存泄漏:不再用到的...原创 2019-09-22 16:44:22 · 1157 阅读 · 0 评论