JavaScript
idomyway
这个作者很懒,什么都没留下…
展开
-
JavaScript - a标签使用方法
// 这样点击a标签就可以执行sign(params)函数了。<a href="javascript:sign(params);">javascript</a>// 相当于<a href="javascript:void(0)" οnclick="sign();return false;">javascript</a>原创 2021-04-19 23:08:21 · 649 阅读 · 0 评论 -
JavaScript - localStorage的增删改查
前言localStorage简介localStorage是浏览器用来进行本地存储数据的,用于解决cookie存储能力不足的情况;localStorage与cookie的区别:cookie存储的数据大小被限制为4k,localStorage存储的数据可达到5M;localStorage与sessionStorage的区别:localStorage属于永久性储存,sessionStorage存储的数据在会话结束后会自动清空;浏览器限制localStorage的值类型为string类型,如转载 2020-12-23 21:31:25 · 2245 阅读 · 0 评论 -
JavaScript - 360浏览器默认使用极速模式打开网页
前言 360浏览器打开项目时默认使用兼容模式打开网页,导致系统无法正常使用。需要将360浏览器切换为急速模式解决方法1,网页头部head中加入<meta name="renderer" content="webkit" />360浏览器就会在读取到这个标签后,立即切换对应的极速内核。若页面需默认用ie兼容内核,增加标签:<meta name="renderer" content="ie-comp" />若页面需默认用i转载 2020-12-23 21:07:02 · 3691 阅读 · 0 评论 -
JavaScript - 在新窗口中打开 base64 格式的图片
前言 从后台返回img的base64,点击跳到新页面进行展示代码const img = new Image()img.src = 'data:image/png;base64,' + data.imgbase64const newWin = window.open('', '_blank')newWin.document.write(img.outerHTML)newWin.document.title = wjmcnewWin.document转载 2020-11-25 23:42:18 · 3987 阅读 · 1 评论 -
JavaScript-数字数组排序
前言 实现包含数组的有小到大的排序代码let numberArr = [4, 88, 22, 54, 66]let sort = numberArr.sort((a, b) => a - b)//sort 4, 22, 54, 66, 88原创 2020-11-25 23:30:55 · 400 阅读 · 0 评论 -
input 输入事件防抖
前言 input输入进行查询,不想输入一个拼音就触发事件,这样会频繁的触发,需要通过输入中文完成后再进行搜索解决方法 — jqueryvar cpLock = true;$('#search-input').on('compositionstart', function () { cpLock = false; }); $('#search-input').on('compositionend', function () { cp原创 2020-08-25 21:52:53 · 3891 阅读 · 0 评论 -
JavaScript - 字符串转数字
前言 从后台接受的数据是number类型的意思,但是返回的值是字符串string类型的。解决方法 eg:'1'转换成number类型的 1 方法一、let i = Number('1')console.log(i) // 1 &...原创 2020-01-16 19:21:49 · 186 阅读 · 0 评论 -
JavaScript - Eslint常用关闭校验语句
关闭段落校验/* eslint-disable */some codesome code/* eslint-enable */关闭当前行校验some code // eslint-disable-line关闭下一行校验// eslint-disable-next-linesome code...原创 2019-12-08 21:57:01 · 1063 阅读 · 0 评论 -
JavaScript - 时间格式计算
/** * 时间戳转换,(@return 如:5天前) * @param str 日期字符串 */export const getTimeInfo: (dateStr: string) => string = dateStr => { if (!dateStr) return '' const date: Date = new Date(dateStr.replace(...原创 2019-12-08 21:50:09 · 205 阅读 · 0 评论 -
JavaScript - 格式化时间
时间格式// 七天前let beforeTime = new Date((new Date()).getTime() - 1000 * 60 * 60 * 24 * 7)let startTime = `${beforeTime.getFullYear()}-${(beforeTime.getMonth() + 1) > 9 ? (beforeTime.getMonth() + 1) ...原创 2019-10-31 21:46:28 · 238 阅读 · 0 评论 -
JavaScript - 手机号码中间用星号代替
如手机号码18854112211,中间用’*'代替,显示188****2211let phone='18854112211'方法1(字符串的截取):var showPhone = phone.substr(0,3)+'****'+phone.substr(7);方法2(正则表达式):var showPhone = phone.replace(/^(\d{3})\d{4}(\d+)/...原创 2019-10-31 21:01:44 · 2762 阅读 · 0 评论 -
JS中Iframe之间获取DOM和方法
1.在iframe子页面中获取父页面的元素:1、window.parent.document.getElementById();这个是获取父页面document中的对象;2、window.parent.xxxx();获取父页面js中的方法:xxxx();2.在父页面中获取iframe子页面中的元素: var child = document.getElementById("mainFrame")原创 2017-12-27 17:03:22 · 8368 阅读 · 0 评论 -
JavaScript - 顶层window方法onresize() 互相覆盖的问题
前言 在单网页中使用同时使用window.onresize,发现后面onresize方法会把前面的 window.onresize 覆盖掉,有什么办法使所有组件的 window.onresize 都能执行互不影响?原因DOM 顶层事件绑定多次事件会被覆盖,我们可以用addEventListener()方法添加事件监听,这样就可以避免多次使用后面覆...原创 2019-03-22 00:16:26 · 4816 阅读 · 1 评论 -
JavaScript 判断是否为对象
1、toString() 第一选择let obj = {}Object.prototype.toString.call(obj) === '[Object Object]'2、constructorlet obj = {}obj.constructor === Object3、instanceof注意:使用instanceof对数组进行判断也是对象let obj = {}ob...转载 2019-04-22 21:07:01 · 17608 阅读 · 1 评论 -
ES6 对象的遍历
声明对象let object = { name: 'wang', age: 18}对象的for in遍历for (let item in object) { console.log(item) // 'name','age' console.log(object[item]) //'wang',18}Object.key遍历Object.keys(obj...原创 2019-04-18 22:24:07 · 13271 阅读 · 0 评论 -
JavaScript - String.Trim()
前言 String.Trim()方法会去除字符串两端,不仅仅是空格字符, 它总共能去除25种字符: (’/t’, ‘/n’, ‘/v’, ‘/f’, ‘/r’, ’ ', ‘/x0085’, ‘/x00a0’...原创 2019-05-21 21:43:58 · 1576 阅读 · 0 评论 -
JavaScript - window.scrollTo
回到页面顶部window.scrollTo(0,0); //回到顶部原创 2019-05-21 22:30:57 · 1463 阅读 · 0 评论 -
JavaScript - setTimeout的原理及在JavaScript线程执行队列中的位置
定义和用法setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。语法setTimeout(() => {// code},millisec) 提示:setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。Jav...转载 2019-06-30 21:35:01 · 512 阅读 · 0 评论 -
JavaScript - 实现数组元素上下移动
前言 通过js中数组的splice()函数实现splice() 方法 JavaScript splice() 方法 注释:该方法会改变原始数组。 ...原创 2019-08-01 22:58:03 · 5108 阅读 · 0 评论 -
JavaScript - 去掉字符串的第一个字符或者最后一个字符
substring && substr stringObject.substring(start,stop) //截取的是开始与结束的字符串。(截取固定开始位置start和结束stop位置) stringObject.substr(start,length) //截取的是开始与字符串长度...转载 2019-08-01 23:06:06 · 11644 阅读 · 0 评论 -
JavaScript - 获取时间并且转换成yyyy-MM-dd形式
function () { let nowDate = new Date() let year = nowDate.getFullYear() let month = nowDate.getMonth() + 1 let day = nowDate.getDate() if (month < 10) month = '0' + month...原创 2019-08-01 23:12:32 · 5062 阅读 · 0 评论 -
ES6 - export default、export 命令
export default 在vue中,export default{}这是在复用组件的时候用到的。 假设我们写了一个单页面组件 A 文件,而在另一个文件 B里面需要用到它,那么就要用 ES6 的 import/export语法 ,在文件 A 中定义输出接口 export ,在文件 B 中引入 imp...原创 2019-08-29 21:41:40 · 628 阅读 · 0 评论 -
ES6: 深拷贝与浅拷贝
前言 在Es6中扩展运算符(…)与Object.assign()中复制是浅拷贝,所谓的浅拷贝和深拷贝:浅拷贝是在在拷贝过程中,遍历时那部分为对象/数组类型指向原来的地址,而深拷贝,则是完全开辟新的内存地址。对象的浅拷贝与深拷贝var obj = {a: 1, b: 2, c: { a: 3 },d: [4, 5]}var obj1 = obj...转载 2019-03-14 23:08:11 · 8378 阅读 · 1 评论 -
ES6 数组操作
1、push() 尾端插入,返回数组长度let arr = [1,"hello",true];console.log(arr.push(22));//4console.log(arr,'---arr');//[1, "hello", true, 22]console.log(arr.push(false,123));//6console.log(arr,'---arr2');//[1, ...转载 2019-02-27 18:46:07 · 1102 阅读 · 0 评论 -
URL链接中文参数乱码
JS中在URL参数中确保用UTF-8编码,用js函数encodeURI()编码,例如 url:"xx.action?id="+treeNode.id+"&name="+encodeURI(newname),java的controller中,import javax.servlet.http.HttpServletRequest; HttpServletRequest request = Serv原创 2018-04-02 18:11:40 · 1306 阅读 · 0 评论 -
解决 js ajax跨域访问报“No 'Access-Control-Allow-Origin' header is present on the requested resource.”错误
在实现不同端口号之间访问时遇到了跨域报错问题前言从 http://www.a.com/test.html 发起一个跨域请求, 请求的地址为: http://www.b.com/test.PH在本地用ajax跨域访问请求时报错:XMLHttpRequest cannot loadhttp://www.zjblogs.com/. No 'Access-Control-Allow-Origin' he原创 2018-03-15 19:53:19 · 59867 阅读 · 4 评论 -
阻止a标签默认行为的简单方法
在用a标签做下拉菜单的时候,我们不希望作为根菜单有触发事件。可以通过以下两种方法阻止a标签的默认行为。1、利用href属性<a href="javascript:void(0);" > Click Me </a>2、利用click默认事件<a href="http://www.baidu.com" onclick=" return false; "> Click Me </a>原创 2018-03-15 20:12:09 · 8115 阅读 · 0 评论 -
JS截取字符串常用方法
前言截取字符串的使用比较广泛,有很多中方法,本文粗略的整理了一些,感兴趣的额朋友可以才参考下函数:split()功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=”jpg|bmp|gif|ico|png”; arr=theString.split(”|”); //arr是一个包含字符值”jpg”、”bmp”、”gif”、”ico”和”png”的数组 函数:Join()功转载 2018-01-18 15:19:27 · 3348 阅读 · 0 评论 -
JavaScript ---location.href的用法
前言location.href=”/url”在网页中主要是牵扯到页面跳转的问题location.hrefJavascript中的location.href有很多种用法,主要如下: self.location.href=”/url” 当前页面打开URL页面location.href=”/url” 当前页面打开URL页面windows.location.href=”/ur原创 2017-12-26 15:55:50 · 28903 阅读 · 1 评论 -
Js Date日期格式和字符串的相互转化
Date格式转字符串var newDate = new Date();返回的Date格式:Wed Dec 13 2017 16:00:00 GMT+0800 (中国标准时间)而且是object类型的所需求的格式为2017-12-13 16:00:00转换代码var formatDate = function (date) { var y = date.getFullYear();原创 2017-12-13 19:07:44 · 68820 阅读 · 3 评论 -
用JavaScript实现canvas和image的相互转换
使用JavaScript将图片拷贝进画布要想将图片放入画布里,我们使用canvas元素的drawImage方法:// Converts image to canvas; returns new canvas elementfunction convertImageToCanvas(image) { var canvas = document.createElement("canvas");原创 2017-11-14 18:57:51 · 2477 阅读 · 0 评论 -
js向java后台传汉字乱码的解决方法
在开发项目的过程中,遇到了js向Java后台传汉字时出现乱码的情况。 解决的大体思想是,在js中进行编码,然后在java后台中进行解码。前台编码var str = encodeURI("将要传的汉字");12后台解码str = URLDecoder.decode(str , "utf-8");12要引入java.net包,并要抛异常原创 2017-11-12 17:55:21 · 1771 阅读 · 0 评论 -
JavaScript实现rgb转为16进制
代码块function RGBToHex(rgb){ var regexp = /[0-9]{0,3}/g; var re = rgb.match(regexp);//利用正则表达式去掉多余的部分,将rgb中的数字提取 var hexColor = "#"; var hex = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'原创 2017-09-03 08:51:38 · 1200 阅读 · 1 评论 -
Js中数组的sort函数对数字排序无效
sort排序 js中用方法sort()为数组排序。sort()方法有一个可选参数,是用来确定元素顺序的函数。如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序。var arr = ["a", "b", "A", "B"];arr.sort();console.log(arr);//["A", &qu原创 2018-06-02 00:19:56 · 11243 阅读 · 3 评论 -
JS 删除Object中属性
前言 这里删除属性指的是attribute删除方法delete Object.property//或者delete Object['property'] 实例一:<div id=”divId” class=”divClass” locx=”1231”><...原创 2018-08-11 15:06:57 · 37823 阅读 · 0 评论 -
iframe跨端口报错 Blocked a frame with origin from accessing a cross-origin frame
前言 在不同的端口号,甚至是不同的ip进行iframe嵌套的时候,在父页面调用子页面的方法的时候,报错SecurityError: Blocked a frame with origin from accessing a cross-origin frame…问题原因 在不同端口号下,不能使用传统...原创 2019-01-11 17:36:22 · 149769 阅读 · 12 评论 -
ES6 Async/Await函数
前言 async-await是promise和generator的语法糖。只是为了让我们书写代码时更加流畅,当然也增强了代码的可读性。简单来说:async-await 是建立在 promise机制之上的,并不能取代其地位。基本语法let awaitPromise = new Promise((resolve,reject)=>{ … r...原创 2018-12-11 19:18:15 · 703 阅读 · 0 评论 -
Javascript原生获取dom元素宽、高
获取网页窗体方法 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽)&nbs...原创 2018-12-10 17:57:11 · 3519 阅读 · 0 评论 -
ES6 Promise笔记
promise含义&nbsp;&nbsp;&nbsp;&nbsp;Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。&nbsp;&nbsp;&nbsp;&nbsp;所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件原创 2018-11-02 11:04:07 · 169 阅读 · 0 评论 -
实战理解JavaScript闭包
前言 js的作用域分两种,全局和局部,js作用域环境中访问变量的权利是由内向外的,内部作用域可以获得当前作用域下的变量并且可以获得当前包含当前作用域的外层作用域下的变量,反之则不能,也就是说在外层作用域下无法获取内层作用域下的变量,同样在不同的函数作用域中也是不能相互访问彼此变量的,那么我们想在一个函数内部也有限权访问另一个函数内部的变量该怎么办呢?...转载 2018-11-02 09:22:10 · 302 阅读 · 0 评论