随笔分类 - js
encodeURI()和encodeURIComponent() 区别
摘要:URI: Uniform ResourceIdentifiers,通用资源标识符 主要区别在于,encodeURI()不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和井字号;而encodeURIComponent()则会对它发现的任何非标准字符进行编码。来看下面的例子:var uri
阅读全文
ES11来了,有些新特性还是值得一用的!
摘要:写在前面 ES2020(即 ES11)上周(2020 年 6 月)已经正式发布,在此之前进入 Stage 4 的 10 项提案均已纳入规范,成为 JavaScript 语言的新特性 一.特性一览 ES Module 迎来了一些增强: import():一种可以用动态模块标识异步引入模块的的语法-
阅读全文
padStart()方法,padEnd()方法
摘要:ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。 'x'.padStart(5, 'ab') // 'ababx' 'x'.padStart(4, 'ab') // 'abax' 'x'.pad
阅读全文
MessageChannel是什么,怎么使用?
摘要:我们知道:在浏览器环境中,常见的 macro task 有 setTimeout、MessageChannel、postMessage、setImmediate。而常见的 micro task 有 MutationObsever 和 Promise.then。 Vue中对于 macro task 的
阅读全文
Object.seal()与Object.freeze()
摘要:1、Object.seal() 参考文档(2)中这样描述: The Object.seal() method seals an object, preventing new properties from being added to it and marking all existing prop
阅读全文
try、catch、finally
摘要:try、catch、finally用法总结: 1、不管有没有异常,finally中的代码都会执行 2、当try、catch中有return时,finally中的代码依然会继续执行 3、finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管fina
阅读全文
label标签的2种用法
摘要:第一种用法:<label for="">用户:<input type="text"></label><br/><label for="">密码:<input type="password"></label> 第二种用法:点击文本时获是触发控件。 <label for="my">满意</label><
阅读全文
解决invalid url domain
摘要:获取url的时候去掉#号后面的数据 let url = window.location.href.split('#')[0]1、检查后台是否设置:右上角公众号名称--功能设置--JS接口安全域名 2、检查代码里的appid和公众号后台的id是否一致 iOS有问题可以看这个 url使用下面方式获取需要
阅读全文
js实现关闭当前页面
摘要:当页面首次打开时,浏览器认为是不安全的并不能直接关闭当前窗口。这不是bug,有解释的链接: https://stackoverflow.com/questions/25937212/window-close-doesnt-work-scripts-may-close-only-the-windows
阅读全文
原生JS三种方式判断元素是否存在某个类名
摘要:1.如果不考虑兼容IE10以下的话,可以用HTML5中的classList API,非常方便: let modulYes = document.querySelectorAll('.modul li') for (let i = 0; i < modulYes.length; i++) { modu
阅读全文
Object.create()和new object()和{}的区别
摘要:Object.create()介绍Object.create(null) 创建的对象是一个空对象,在该对象上没有继承 Object.prototype 原型链上的属性或者方法,例如:toString(), hasOwnProperty()等方法 Object.create()方法接受两个参数:Obj
阅读全文
js 删除url指定参数
摘要:/** * 删除当前url中指定参数 * @param names 数组或字符串 * @returns {string} */ function funcUrlDel(names) { if(typeof(names)=='string'){ names = [names]; } var loca
阅读全文
js的 new image()
摘要:创建一个Image对象:var a=new Image(); 定义Image对象的src: a.src=”xxx.gif”; 这样做就相当于给浏览器缓存了一张图片。 图像对象:建立图像对象:图像对象名称=new Image([宽度],[高度]) 图像对象的属性: border complete he
阅读全文
修改input输入框placeholder文字默认颜色
摘要:input输入框,placeholder默认颜色修改,照如下添加样式: input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { /* WebKit browsers */ color: #fff; } input
阅读全文
解决前端浏览器字体小于12px办法
摘要:做项目时,UI设计的字体10px,看效果图时发现字体仍然蛮大,改变12px时字体还是那么大,改变到14px时,字体变大了,发现规律,才知道原来浏览器为了让用户字体看的清楚,最小设置为12px。怎么办?设计就是10px? 最终实现的效果图如下: 百度时,各位网上大神说利用transform: scal
阅读全文
JavaScript 生成二维码(修改qrcode.js添加icon支持)
摘要:JS生成二维码,我用到的是 qrcode.js 这个插件,地址如下:https://github.com/davidshimjs/qrcodejs 测试 DEMO 如下(我有对源码进行修改才支持图片的): <!DOCTYPE html> <html> <head> <script src="qrco
阅读全文
js修改url不刷新页面
摘要:发现一个可以改变地址栏,而不导致页面刷新的东东。 Chrome, FF测试通过,不支持IE. 实现目标 页面的跳转(前进后退,点击等)不重新请求页面 页面URL与页面展现内容一致(符合人们对传统网页的认识) 在不支持的浏览器下降级成传统网页的方式 使用到的API history.state 当前UR
阅读全文
原生js删除、添加、查找、替换元素
摘要:1、创建元素节点:createElement document.createElement("p");//创建p标签; document.createTextNode("txt");//创建文本标签; 2、插入节点:appendchild:在要插入的元素节点上调用,他插入指定的节点使其成为那个节点的
阅读全文
js实现复制到剪切板
摘要:1、第一种,通过clipboard.js插件实现(推荐) 此插件封装了很多种使用方式很方便,具体demo,可以去GitHub上看,clipboard传送门 2、第二种,纯js实现: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-
阅读全文
【html】巧妙解决input标签自动填充问题
摘要:前言:如果是同域名网站,并且曾经在该网站下登录过账号密码,并且选择了记住账号密码。chrome浏览器会对账号密码进行自动填充功能,虽然这功能给我们提供了很多方便,但是也带来了些困扰。 一、问题起始①当“密码”那项input的type是text的时候并不会出现问题 <label> <span>卡号:<
阅读全文