JavaScript
zuo_zuo_blog
这个作者很懒,什么都没留下…
展开
-
判断是否有值,0也是有值的情况
js判断是否有值原创 2022-11-02 09:35:21 · 783 阅读 · 1 评论 -
js数组对象去重
js原创 2022-09-06 17:56:53 · 251 阅读 · 0 评论 -
js 判断对象是否为空
js原创 2022-06-14 15:50:26 · 254 阅读 · 0 评论 -
深拷贝和浅拷贝
//浅拷贝function shallowClone(data) { var cloneData ={} for(var i in data) { if(data.hasOwnProperty(i)) { cloneData[i] = data[i] } } return cloneData}//深拷贝 浅拷贝+递归function deepClone(data){ var cloneData ={} for(var i in data) {原创 2022-03-04 13:52:52 · 249 阅读 · 0 评论 -
react antd Table动态合并单元格
原始数组const data = [ { key: '0', name: 'John Brown', age:22, address: 'New York No. 1 Lake Park', tags: ['nice', 'developer'], }, { key: '1', name: 'John Brown', age: 42, address: 'London No. 1 Lake Park', tags:原创 2021-11-09 14:49:55 · 2297 阅读 · 0 评论 -
ES6之reduce用法
arr.reduce(function(prev,cur,index,arr){arr表示原数组prev表示上一次调用回调时的返回值,初始值initcur表示当前正在处理的数组元素index表示当前正在处理的数组元素的索引},init)1.求数组项之和var arr = [1,2,3,4,5,6];var sum = arr.reduce(function (prev, cur){ return prev + cur;},0)2.求数组项最大值var max = arr.redu原创 2021-11-09 14:36:10 · 749 阅读 · 0 评论 -
JS下载文件到本地
//下载excelasync getDownload(ctx, formData, t) { let params = { path:'INeonatalReportRecordService/download', data: formData, } // let result = await ctx.Api.api.post(params); let xhr = new XMLHttpRequest(); let fil...原创 2021-10-22 10:47:02 · 288 阅读 · 0 评论 -
JS 中判断数据类型是否为 null、undefined 或 NaN
https://www.cnblogs.com/cckui/p/11507711.html原创 2021-09-13 18:12:33 · 191 阅读 · 0 评论 -
js获取地址栏参数
1、Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问属性名 作用 hash 设置或返回从井号 (#) 开始的 URL(锚)。 host 设置或返回主机名和当前 URL 的端口号。 hostname 设置或返回当前 URL 的主机名。 href 设置或返回完整的 URL。 pathname 设置或返回当前 URL 的路径部分。 port 设置或返回当前 URL 的端口号。 pr.原创 2021-04-09 11:36:56 · 427 阅读 · 0 评论 -
DOM节点的获取和操作
DOM基础1.DOM:文档对象模型BOM:浏览器对象模型JS以事件驱动为核心的一门语言2.事件三要素事件源(执行者),-----引发后续事件的标签事件(执行的事情),-------JS定义好直接使用事件处理程序(结果)-------对样式和HTML的操作3.执行事件步骤a) 获取事件源b) 绑定事件(事件源.事件=function(){事件})c) 书写事件驱动程序4.获...原创 2019-04-06 12:31:29 · 442 阅读 · 0 评论 -
scroll楼层跳跃
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *{ padding: 0; margin: 0; } body,html{ ...原创 2020-01-10 16:47:02 · 142 阅读 · 0 评论 -
scroll和offset案例
1.固定导航栏<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *{ padding: 0; margin: 0; } im...原创 2020-01-09 19:56:50 · 255 阅读 · 0 评论 -
scroll家族
1.滚动事件window.onscroll=function(){ console.log(111); }2.scrollWidth和scrollHeightscrollWidth=width+padding(不包括border和margin);scrollHeight=height+padding:如果文字超出了盒子,高度为盒子内容3.scrollLeft和scrol...原创 2020-01-09 17:14:09 · 235 阅读 · 0 评论 -
client-可视区域的宽高
1. Onresize事件只要浏览器的大小改变,哪怕1像素,都会触动这个事件。2.获取屏幕可视区域的封装<script> /* console.log(document.body.clientHeight); console.log(document.body.clientWidth); console.log(document.documentElement...原创 2020-01-14 17:34:51 · 214 阅读 · 0 评论 -
三大家族scroll、offset、client的区别
1.scroll、offset、client宽高的区别2.scroll、offset、client上下的区别3.client介绍原创 2020-01-13 17:32:04 · 180 阅读 · 0 评论 -
事件对象(event)
再触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息。所有浏览器都支持event对象,但支持的方式不同。1. 事件对象的获取(event的获取)event内容重要内容<script> document.onclick=function(event){ event=event||window.event; co...原创 2020-01-13 16:52:01 · 278 阅读 · 0 评论 -
JS中Input上传文件获取文件名并显示在另一文本框中
功能:1.上传多个文件2.获取文件名3.显示在右边文本框中4.带有删除功能在这里插入代码片```<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title> <style> ...原创 2019-03-31 23:08:03 · 2007 阅读 · 1 评论 -
input file上传文件样式美化
1.通过label标签的for属性绑定控件idlabel标签的for属性与表单进行绑定包含显示绑定和隐式绑定显示绑定:上传文件隐式绑定:在 标签中放入控件隐式地连接起来上传2.通过onclick点击按钮事件进行input操作原理:通过点击button按钮触发点击事件获取input中idCSS3中multiple可以选择多个文件1代码片<!DOCTYPE html...原创 2019-03-31 20:41:10 · 6291 阅读 · 0 评论 -
模拟日历获取当前时间
代码如下:js部分 //显示现有时间 var date=new Date(); var year=date.getFullYear(); var month=date.getMonth(); var hao=date.getDate(); var week=date.getDay(); var hour=date.getHours(); ...原创 2019-04-13 18:53:46 · 254 阅读 · 0 评论 -
js删除字符串的最后一个字符
var basic = "abc,def,ghi,"; basic = basic.substr(0, basic.length - 1); basic = basic.substring(0, basic.length - 1); basic = basic.substring(0, basic.lastIndexOf(',')); slice方法let str ="122889,"str=str.slice(0,str.length-1)console.log(str)//1228原创 2020-12-23 10:36:30 · 196 阅读 · 0 评论 -
构造函数与原型对象
1.构造函数中的属性和方法我们称为成员,成员可以添加2.实例成员===构造函数内部通过this添加的成员 uname,age,sing 就是实例成员(实例成员只能通过实例化的对象来访问)3.静态成员 ==== 在构造函数本身上添加的成员 (静态成员只能通过构造函数来访问)构造函数的问题构造函数方法很好用,但是存在浪费内存的问题构造函数原型prototype,构造函数通过原型分配的函数是所有对象所共享的。1.原型是什么?一个对象,我们称prototype为原型对象2.原型作用?共享对象3.一原创 2020-12-03 17:42:11 · 317 阅读 · 0 评论 -
ES5新增字符串和对象的方法
trim() 去除字符串两侧空格var str = ’ 555 ';console.log(str);var str1 = str.trim();console.log(str1);2.Object.keys()获取对象自身所有属性 === for。。in var obj = { id: 1, pname: '夏明', price: 1666, num: 3000 };.原创 2020-12-03 17:31:27 · 182 阅读 · 0 评论 -
call()、apply()和bind()的区别
1.call()修改函数this运行时的指向,并且可以继承父的属性Dad.call(this, uname, age);2.apply()修改函数this运行时的指向,参数需要是数组Dad.apply(函数,array) 一般用于内置函数的最值求取3.bind()修改函数this运行时的指向,但是不会调用执行函数Dad.bind()仅仅改变this指向,并没有执行函数。一般适用于定时并需要改变指向...原创 2020-12-03 17:28:51 · 115 阅读 · 0 评论 -
类和对象
<script> //1.创建class类 class Star{ constructor(uname,age){ this.uname = uname; this.age = age; } sing(song){ console.log(this.uname + song); .原创 2020-12-02 17:08:01 · 101 阅读 · 0 评论 -
ES5新增数组方法:forEach(),map(),filter(), some(), every()
<script> //ES5新增数组方法:forEach(),map(),filter(), some(), every() //array.filter(function(currentValue,index,arr)) //currentValue:数组当前项的值 //index:数组当前项的索引 //arr:数组对象本身 //filter()筛选数组 //filter()方法创建一个新数组,新数组的元素是通过检查指定数组中符合条件原创 2020-12-02 17:07:12 · 180 阅读 · 0 评论 -
原型链
原创 2020-12-01 17:15:54 · 85 阅读 · 0 评论 -
arguments.length的作用
arguments.length表示的是实际上向函数传入了多少个参数,这个数字可以比形参数量大,也可以比形参数量小(形参数量的值可以通过Function.length获取到).原创 2020-11-19 10:13:26 · 873 阅读 · 0 评论 -
数组小知识
for…in 和 for…of的区别for…of 是ES6新引入的特性,修复了ES5引入的for…in的不足for…in 循环出的是key,for…of循环出的是valuefor…of不能循环普通的对象,需要通过和Object.keys()搭配使用.推荐在循环对象属性的时候,使用for…in,在遍历数组的时候的时候使用for…ofnew一个对象,这个过程中发生了什么var obj = new Object(“name”,“sansan”);创建一个新对象,如:var obj = {};新原创 2020-10-18 17:49:31 · 110 阅读 · 0 评论 -
js的防抖和节流是什么
1.防抖: 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。使用场景:给按钮加函数防抖防止表单多次提交。对于输入框连续输入进行AJAX验证时,用函数防抖能有效减少请求次数。function debounce(fn, wait) { var timeout = null; return function () { if (timeout !== null) clearTimeout(timeout) timeout = setTimeout(f原创 2020-10-18 17:45:44 · 717 阅读 · 2 评论 -
不同跨域方式实现原理
实现跨域方式1.JSONP跨域方案2.CORS跨域资源共享3.基于http proxy实现跨域处理4.基于post message实现跨域5.基于iframe跨域6.Web socket和nginx反向代理跨域(非同源策略请求)同源策略请求 ajax/fetch跨域传输(1)部署到web服务器上:同源策略-xampp修改本地的host文件(2)服务器拆分Web服务器:静态资源;data服务器:业务逻辑和数据分析;图片服务器同源跨域区分:协议域名端口号只要一个不同即跨域。第三方开原创 2020-08-19 16:44:50 · 311 阅读 · 0 评论 -
浏览器渲染原理
从用户在浏览器地址栏输入网址,到看到整个页面,中间都发生了哪些事情?1.HTTP请求阶段2.HTTP响应阶段3.浏览器渲染阶段浏览器渲染页面的机制和原理进程:Process 一个程序就是一个进程线程:Thread栈内存:Stack 用来提供环境客户端(浏览器)浏览器内核拿到代码后,浏览器在内存条中开辟出一块栈内存,用来给代码的执行环境,同时分配一个主线程去一行行的解析执行(进栈执行,执行完出栈),当浏览器遇到link、script、img等请求时候,都会开辟全新的线程去加载资源文件。R原创 2020-08-18 18:06:41 · 164 阅读 · 0 评论 -
JS动态创建link标签到head
方法一添加新link可行,因为页面度加载完毕. html就不会变化了 不管用js怎么改源代码不会变。添加新link就用head.appendChild()。var linkzh = document.createElement('link');linkzh.setAttribute('hreflang','zh');linkzh.setAttribute('rel','alternate');linkzh.setAttribute('href','hhttp://www.badidu.com');原创 2020-05-20 15:04:01 · 3050 阅读 · 0 评论 -
相对路径与绝对路径
1…/和…/和/三种路径的区别./表示当前目录…/表示父级目录/表示根目录2.绝对路径是指完整的网址假设图一中项目的网站域名为www.test.com,那么000.css的绝对路径应该是原创 2020-05-12 16:49:03 · 159 阅读 · 0 评论 -
深拷贝与浅拷贝的区别,实现深拷贝的几种方法
如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝.浅拷贝例子:let a=[0,1,2,3,4],b=a;console.log(a===b);a[0]=1;console.log(a,b);,基本数据类型有哪些,number,string,boolean,null,und...原创 2020-05-07 17:00:20 · 260 阅读 · 0 评论 -
Promise 多接口调用 的写法
var data = {access_token:acctoken()} var p1 = new Promise((resolve, reject) => { request.ordertoday_gather(data) .then(function(res){ resolve(res) ...原创 2020-05-07 11:21:25 · 1147 阅读 · 0 评论 -
数组去重
methods: { noRepeat(){ //indexOf() var arr=[1,2,5,6,7,1,2,5]; var newArr=[]; for(let v in arr){ if(newArr.indexOf(arr[v])==-1){ newA...原创 2020-04-28 15:51:45 · 127 阅读 · 0 评论 -
JS排序方法
1. 冒泡排序解析:比较相邻的两个元素,如果前一个比后一个大,则交换位置。第一轮的时候最后一个元素应该是最大的一个。按照步骤一的方法进行相邻两个元素的比较,这个时候由于最后一个元素已经是最大的了,所以最后一个元素不用比较。js代码实现function bubble_sort(arr){ for(var i=0;i<arr.length-1;i++){ f...原创 2020-04-11 15:56:36 · 198 阅读 · 0 评论 -
cookie和session
一、为什么会出现cookie和session?通过浏览器进行访问,依靠http协议,http协议是无状态的,无法记录用户的状态l二、两者之间的区别?1.cookie存储在浏览器端,session存储在服务器端2.Cookie最多存储4k,而Session没有限制3.Cookie存储信息可以永久保存,session客户端关闭或者超时就会失效4.cookie不安全,是暴漏在浏览...原创 2020-04-10 22:17:33 · 135 阅读 · 0 评论 -
项目种常用的js数据处理方法
1.正则处理时间格式(把/用-替换) this.conversionListData.map(item => { item.reportDate = item.reportDate.replace(/\//g,"-"); });2.split() 方法用于把一个字符串分割成字符串数组"2:3:...原创 2020-04-09 15:22:20 · 269 阅读 · 0 评论 -
JavaScript语言居然有两个表示"无"的值:undefined和null。有什么区别呐
1.JavaScript的最初版本是这样区分的:null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。2.目前,null和undefined基本是同义的,只有一些细微的差别。null表示"没有对象",即该处不应该有值。(1) 作为函数的参数,表示该函数的参数不是对象。(2) 作为对象原型链的终点。Object.g...原创 2020-04-03 15:50:49 · 515 阅读 · 0 评论