JavaScript
文章平均质量分 67
JavaScript 相关知识
fly丶知秋
这个作者很懒,什么都没留下…
展开
-
如何判断JS中变量的类型
前言判断JS类型,有以下几种方法:typeofinstanceofObject.property.toString.callJS中的数据类型JS的基本类型共有七种:numberstringboolenundefinednullbigInt(bigInt是一种内置对象,是处symbol外的第二个内置类型)symbol复杂数据类型/引用类型:ObjectArrayDateMapWeakMapSetWeakSetFunction判断JS的类型typeof原创 2021-10-29 14:52:23 · 2986 阅读 · 1 评论 -
Js 实现 Unicode 编码转 UTF-8 编码
前言阅读本文,需要同学们已经对 Unicode 和 UTF-8 有了一定的了解。若是还未了解,这里推荐同学们阅读阮一峰大佬的相关文章(也是本文参考来源):字符编码笔记:ASCII,Unicode 和 UTF-8Unicode 与 JavaScript 详解UTF-8 的编码规则UTF-8 是一种变长的编码方法,字符长度从1个字节到4个字节不等。越是常用的字符,字节越短,最前面的128个字符,只使用1个字节表示,与ASCII码完全相同。UTF-8 编码规则:对于单字节的符号,字节的第一位设为转载 2021-10-26 15:01:22 · 2847 阅读 · 0 评论 -
使用window.close()关闭标签页的注意事项
前言最近在使用 window.close() 的时候碰到一个问题,有些窗口可以关闭而有些窗口无法关闭且会出现一个警告且。具体如下Scripts may close only the windows that were opened by them. // window.close方法只能关闭使用window.open方法打开的窗口经过一番翻译和百度后得到的答案//第一种形式window.opener = null;const win = window.open('', '_self');wi原创 2021-10-11 14:07:10 · 2681 阅读 · 0 评论 -
ECMA 2019(ES10) 特性
ECMA 2019(ES10) 特性行分隔符(U + 2028)和段分隔符(U + 2029)符号现在允许在字符串文字中,与 JSON 匹配更加友好的 JSON.stringify新增了 Array 的flat()方法和flatMap()方法新增了 String 的trimStart()方法和trimEnd()方法Object.fromEntries()Symbol.prototype.descriptionFunction.prototype.toString()现在返回精确字符,包括空格原创 2021-09-20 12:39:39 · 251 阅读 · 0 评论 -
Decorator 装饰器简单讲解
类的修饰类修饰器一般用来修改、增加类的静态属性,方法,或者添加实例方法,装饰器的参数是这个类构造器function myTestable(target) { target.isTestable = true}@myTestableclass MyTestableClass { // ...}console.log(MyTestableClass.isTestable) // true上面代码中,装饰器 myTestable 可以接受参数,这就等于可以修改装饰器的行为。原创 2021-09-20 12:35:39 · 135 阅读 · 0 评论 -
浏览器多窗口通信 BroadcastChannel
前言最近在做一个项目的时候,产品要求可以打开多个浏览器窗口,后台发现多窗口间的localstorage数据同步偶尔会出现同步不及时的情况,所以就进行了一番google,也了解了一些方案,在此进行下分享Storage Event因为是 localstorage 数据同步不及时,所以最开始想到的就是 storage 事件。但是这个方案最后发现事件的触发频率太高太影响性能(加防抖又更新不及时);所以放弃此方案window.postMessage 和 message 事件window.postMessa原创 2021-09-18 14:30:33 · 760 阅读 · 0 评论 -
javascript知识梳理之数据类型
javascript基础知识(在javascript中=是赋值符号)变量合法的变量命名规则:大小写英文、数字、$和_的组合,且不能用数字开头。var a; //声明变量var s = 2; //声明变量并赋值javascript有8种数据类型:Number //数字Boolean //布尔String ...原创 2018-09-12 11:11:00 · 149 阅读 · 0 评论 -
工作中用到的正则表达式
记录在工作中用的正则表达式--个人觉得比较通用的正数/(^[1-9][\d]*(.[\d]{1,2})?$)|(^0(.((0[1-9])|([1-9]\d?)))?$)/英文和数字同时存在/^(([a-zA-Z]+)|(\d+))[a-zA-Z\d]*$/只能输入英文或数字/^[a-zA-Z\d]+$/金额(保留两位小数)/^[\d]+(.\d{1,2})?$/...原创 2019-05-06 15:34:00 · 44 阅读 · 0 评论 -
数字实现千分位分隔符
方法一(被处理的必须为Number类型)let str = 123456789;y.toLocaleString() //123,456,789方法二(被处理的为String类型的数字)let reg = /(\d)(?=(?:\d{4})+$)/g;let str = '123456789';let target = str.replace(reg, '$1,') ...原创 2019-07-16 16:47:00 · 287 阅读 · 0 评论 -
删除排序数组中的重复项--leetcode算法题
题目来自于leetcode题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出...原创 2019-08-28 11:58:00 · 75 阅读 · 0 评论 -
二进制求和
题目来自于leetcode题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"解题思路:首先让两个字符串等长,若不等长,在短的字符串前补零把字符串装换成数组遍历所有的位数,同...原创 2019-08-28 13:53:00 · 38 阅读 · 0 评论 -
数据结构之二叉搜索树(BST)--JavaScript实现
原理:叉排序树的查找过程和次优二叉树类似,通常采取二叉链表作为二叉排序树的存储结构。中序遍历二叉排序树可得到一个关键字的有序序列,一个无序序列可以通过构造一棵二叉排序树变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。每次插入的新的结点都是二叉排序树上新的叶子结点,在进行插入操作时,不必移动其它结点,只需改动某个结点的指针,由空变为非空即可。搜索,插入,删除的复杂度等于树高,O(lo...原创 2018-06-18 21:21:00 · 88 阅读 · 0 评论 -
身份证第18位校验码如何计算
身份证第18位校验码计算规则:下面代码是javascript的实现;校验为真返回true;否则返回falsefunction check(id){ var vid = id+''; var flag = false; console.log(id) if(vid.length != 18){ ret...原创 2017-08-28 20:51:00 · 128 阅读 · 0 评论 -
如何让touchmove之后不触发touchend的事件
手机扫码看效果不多说,直接上代码<ul id="Ul"> <li>111</li> <li>222</li> <li>333</li> <li>444</li> <li>555</li> <li>6...原创 2017-02-11 18:25:00 · 110 阅读 · 0 评论 -
计算滚动条的宽度--js
原理创建两个div嵌套在一起外层的div设置固定宽度和overflow:scroll滚动条的宽度=外层div的offsetWidth-内层div的offsetWidth实现代码/** * 获取滚动条的宽度 */getScrollWidth() { const scroll = document.createElement("div"); const scro...原创 2020-07-21 11:48:00 · 785 阅读 · 0 评论 -
使用jsbarcode生成条形码
安装yarn add jsbarcode使用// HTMLElement 承载条形码的元素 svg/canvas// text 显示在条形码下方的文字// option 条形码的配置项 具体见【条形码的配置项】JsBarcode(HTMLElement, text, option)条形码的配置项使用中的optionbackground: "#ffffff" // 背景色...原创 2020-09-09 11:01:00 · 327 阅读 · 0 评论