随笔分类 - javascript
摘要:不知道你有没有遇到过这种情况 使用forEach的时候有时候能赋值上去,有时候又不得行! 比如说 赋值不行的时候: const arr = [1, true, '3', undefined, null, Symbol(6), 7, 8, 9] arr.forEach(item => { item =
阅读全文
摘要:将图片转为base64的好处 将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页、编辑器中。 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地方。 将图片转换成base64编码的,在web网上一般用于小图片上,不仅可以减少图片的请求数量(集合
阅读全文
摘要:1 window.URL是干嘛的? window对象的URL对象是专门用来将blob或者file读取成一个url的。 window.URL.createObjectURL(file / blob) 这个url可以用在html的任何可以使用url的地方,比如img的src ; audio/video的
阅读全文
摘要://有缺陷,JSON.stringify(obj)中,如果obj本来是空的,又继承了一个非空的对象那么结果也会是“{}” 1. JSON.stringify(obj) == '{}' 2. Object.keys(obj).length == 0 //错误,当对象为空Array,length为1,空
阅读全文
摘要:例如:https://www.baidu.com/baidu?name=aaa&age=20我们想把参数转变成对象,以备随时使用,现推荐两种方法方法一: let urlToJson = (url = window.location.href) => { // 箭头函数默认传值为当前页面url let
阅读全文
摘要:前端开发过程中,常常需要将时间戳转化为标准时间格式供用户浏览。不借助方法库的情况下,如何又快又好的实现呢?下面介绍两种方法。 老方法 平常用的基本是这个方法,用Date方法依次将年月日时分秒一个个算出来,然后拼接成需要的时间格式字符串。 function transformTime(timestam
阅读全文
摘要:1、最简单的方法,就是使用“!==”进行判断,这种方法在工作中很常见,可以看出该方法可以判断继承来的属性。 let obj = { x: 1 }; obj.x !== undefined; // true 有x属性 obj.y !== undefined; // false 无y属性 obj.toS
阅读全文
摘要:在前端开发的过程中,我们经常会需要绑定一些持续触发的事件,如 resize、scroll、mousemove 等等,但有些时候我们并不希望在事件持续触发的过程中那么频繁地去执行函数。 通常这种情况下我们怎么去解决的呢?一般来讲,防抖和节流是比较好的解决方案。 让我们先来看看在事件持续触发的过程中频繁
阅读全文
摘要:定义一个数组 var arr = [-1, 1, 101, -52, 10, 1001, 1001]1.es6拓展运算符... Math.max(...arr)2.es5 apply(与方法1原理相同) Math.max.apply(Math,arr)3.for循环 let max = arr[0]
阅读全文
摘要:onkeyup、onkeydown与onkeypress三者在事件的响应上各有不同:onkeydown 、onkeypress事件响应时,输入的字符并没有被系统接受,而响应onkeyup时,输入流已经被系统接受 onkeyup是在键盘按下去并松开后执行 onkeydown在键盘下去就会执行,不管是数
阅读全文
摘要:1,获取当前窗口的url; 结果:http://localhost:61768/Home/Index?id=2&age=18 var url = window.location.href; 2,获取当前窗口的主机名; 结果:localhost:61768 var host = window.loca
阅读全文
摘要:第一种:数组遍历 function search(arr,dst){ var i = arr.length; while(i-=1){ if (arr[i] == dst){ return i; } } return false; } 使用方法: var a=[1,2,3,4]; search(a,
阅读全文
摘要:一、js去除字符串中的所有空格: str = " hello world ! " str.replace(/\s/g,""); 感觉很好用。 二、去除左右空格: rtrim =(str)=>{ //删除左右两端的空格 return str.replace(/(^\s*)|(\s*$)/g, "");
阅读全文
摘要:本文将会介绍两种拖拽滑动条的情况,有需要的小伙伴可以参考一下。 1、被拖拽内容长度小于父元素内容长度,效果图如下所示: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> #div0 { w
阅读全文
摘要:方法一:字面量定义对象 (1)定义一个空对象并打印出来,代码和打印结果如下: 代码: const person = {}; console.log(person); 打印结果: (2)为对象添加属性并打印,代码和打印结果如下: 代码: person.name = 'zhangsan'; person
阅读全文
摘要:效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta ht
阅读全文
摘要:Ajax做文件上传就会有兼容性的问题。只有一些高版本的浏览器可以实现文件上传的功能。Ie6 ie7 低版本浏览器不能实现。因为ajax文件上传用到Formdata,它是h5新增的,有兼容问题,低版本浏览器不支持。 数据往formdata中加: 调用formdata的append方法,用原生dom对象
阅读全文
摘要:去重数据: var arr = [{ key: '01', value: '西施' }, { key: '02', value: '王昭君' }, { key: '03', value: '杨玉环' }, { key: '04', value: '貂蝉' }, { key: '01', value:
阅读全文
摘要:本文将分享 DOM 节点树深度遍历、广度遍历代码。 假定我仅遍历 body 且其结构如下: <body> <section class="container"> <div class="left"> <div class="menu"></div> </div> <div class="right"
阅读全文
摘要:1. typeof 鉴于 ECMAScript 是松散类型的,因此需要有种手段来检测给定变量的数据类型,typeof 就是负责提供这方面信息的操作符。对一个值使用 typeof 操作符可能返回下列某个字符串:( 缺点:对于数组和对象或null 都会返回object) "undefined" ——如果
阅读全文