![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
VXK
这个作者很懒,什么都没留下…
展开
-
浅拷贝与深拷贝
当我们把一个对象赋值给一个新的变量时,赋的其实是该对象的在栈中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空间,无论哪个对象发生改变,其实都是改变的存储空间的内容,因此,两个对象是联动的。但是 Object.assign()进行的是浅拷贝,拷贝的是对象的属性的引用,而不是对象本身。两个对象引用都引用了同一个对象。原理: 用JSON.stringify将对象转成JSON字符串,再用JSON.parse()把字符串解析成对象,一去一来,新的对象产生了,而且对象会开辟新的栈,实现深拷贝。转载 2022-11-11 01:29:32 · 201 阅读 · 0 评论 -
函数IIFE(匿名函数)
上面是麻烦写法IIFE(Immediately-invoked function expression)立即执行函数,执行后会直接被清理掉;简单写法,也就是匿名函数;好处:增加作用域,函数执行完立即清除(包括参数)(如果操作中有作用于DOM的事件不会被清除)...原创 2022-07-14 12:02:07 · 260 阅读 · 0 评论 -
函数柯里化
概念:将一个接受多个参数的函数转为只处理一个参数并返回新函数,新函数就处理剩余的参数好处:分离参数什么是柯里化:闭包的处理过程;应用场景:函数多参数处理比如手机号验证等原创 2022-07-14 11:40:55 · 59 阅读 · 0 评论 -
JS垃圾回收
JS垃圾回收原创 2022-06-24 22:42:21 · 154 阅读 · 0 评论 -
javascript的数据类型
string,boolean,number,object,float,array,null,undefined;原创 2020-02-04 12:34:07 · 116 阅读 · 0 评论 -
正向代理与反向代理;
正向代理:A页面访问B页面,如果它们跨域;A还是想拿B的资源;可以通过代理实现,A把信息发给服务器,这里的服务器就是代理;服务器访问B,再把信息返回给A;这时B页面不知道A页面访问了它,只知道A的服务器访问了它;这种情况就叫正向代理;正向代理:隐藏了客户端信息;反向代理:比如:A页面想通过百度查询一个人的信息,现在把查询的条件发送给服务器,服务器通过百度查询出很多符合条件的...原创 2020-02-03 19:33:26 · 182 阅读 · 0 评论 -
JS node 后端签名前端文件直传ali-oss解决方案
1:首先打开跨域上面搞好了开始写代码html <input type="file" id="upload" onchange="uploadfile()">js function uploadfile() { var file = document.getElementById('upload').files[0] ...原创 2019-04-14 23:09:56 · 1112 阅读 · 0 评论 -
小程序设置header cookie
代码片段 method: 'POST', url: config.service.balabala, data: this.data.balabala, header: { 'cookie': 'demo=balabala;login=balabala'}, success: function (data) {原创 2019-04-24 01:14:51 · 3304 阅读 · 0 评论 -
闭包
在函数内定义个函数,并将函数作为结果返回。返回的函数可以调用外部函数的参数,如果该函数被执行,将返回已经结算出的值<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>闭包</title> <script ...原创 2019-05-13 23:46:14 · 119 阅读 · 0 评论 -
面向对象编程
面向对象分为‘类’和‘实例’什么是类?类是对象的类型模版;例如Student,我们可以把它当做学生类型;它不具体代表某个学生;什么是实例?实例是根据类型模版生成的对象;利用Student这个类实例出的具体的学生;每个实例都代表一个具体的学生;他们都属于Student这个类型;三大特征:封装:根据客观事物抽象成类(例:学生类,由N个不同学生组成)继承:类型模版A可继承类型模版B的...原创 2019-05-10 22:33:03 · 112 阅读 · 0 评论 -
js冒泡排序,简单的冒泡排序
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>冒泡排序</title> <script type="text/javascript"> var arr = [3, 12, 5, 8...原创 2019-05-12 10:48:49 · 236 阅读 · 0 评论 -
什么是跨域?跨域如何解决
什么是跨域?A页面访问B页面的资源,如果A,B页面的域名、端口、协议、IP其中一个不同,这种行为都叫跨域;它是由于浏览器的同源策略形成的,也是对javascript的安全限制;什么是同源?就是协议、IP、域名、端口都相同;如何解决?1:服务器正向代理:通过服务器去查询B页面的信息,再把信息返回给A页面;2:jsonp;什么是jsonp?可以让网页在其它域名获取资源;...原创 2019-05-13 16:09:07 · 579 阅读 · 0 评论 -
去掉数组左右两边的引号
情况是这样的一个数组 []正则去掉 "[]" 数组旁边的引号;下面就是方法(因为编译存数据库的时候,取出来成字符串了,多了给引号,所以要去掉).replace(/^\"|\"$/g,'')...原创 2019-06-10 12:49:33 · 9941 阅读 · 2 评论 -
jq .index 获取当前标签位置信息
<div id="headerA" class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav "> <li><a原创 2019-01-16 20:29:27 · 555 阅读 · 0 评论 -
jq localStorage
$(function () { if(!window.localStorage){ alert("浏览器不支持localstorage"); return false; }else{ var storage=window.localStorage; $('#head...原创 2019-01-16 20:23:24 · 725 阅读 · 0 评论 -
本地ip出口查询
获取/查看本机出口ip curl转载 2018-06-15 20:13:39 · 5004 阅读 · 0 评论 -
时间戳倒计时
var defaultTimeStamp = Math.floor(Date.now()/1000); var dayA = defaultTimeStamp % (24 * 3600) //除去天数,得到剩余的小时时间戳 var hourA = dayA % (3600) //除去小时,得到剩余的分钟数时间戳...原创 2018-06-10 11:29:56 · 2347 阅读 · 0 评论 -
通过类或ID记录上一个被选中的标签或者数字
通过类或ID记录上一个被选中的标签或者数字$(function () { $(document).on('click', '.navbar-nav li a', function (e) { var $parant = $('.navbar-nav li').index($('.navbar-nav li.active')) ...原创 2018-08-27 02:16:18 · 146 阅读 · 0 评论 -
jq轮播原理及实现
直接开始,HTML CSS部分没备注,JS有HTML部分<div style="overflow: hidden;position: relative;left: 0;top: 0;height: 450px;width: 100%"> <div id="slider"> <div></div> &l原创 2018-08-31 00:49:42 · 830 阅读 · 0 评论 -
JS prototype作用
prototype可查看原型属性,还可对原型添加属性或方法 function Car(name) { this.name = name; this.run = function () { console.log(this.height+'cm '+this.name + 'is run!') ...原创 2018-09-01 16:49:25 · 934 阅读 · 0 评论 -
js splice
splice(删除数组第几个,删除几个数据)splice(从第几个新增,如果设置为 0,则不会删除项目。,'新增的对象')原创 2018-09-14 20:15:25 · 1439 阅读 · 0 评论 -
js 值太大自动转换bignumber
大值转换 function toNonExponential(num) { var m = num.toExponential().match(/\d(?:\.(\d*))?e([+-]\d+)/); return num.toFixed(Math.max(0, (m[1] || '').length - m[2])); } ...转载 2018-10-02 16:17:12 · 5136 阅读 · 0 评论 -
vue或js解析文件excel表格js通过插件解析表格读取文件
安装插件cnpm i xlsx --save-devcnpm i jquery --save-dev引入插件 html引入文件 <input type="file" id="excel-file" value="file"/>dom加载完成解析文件 mounted() { $('#excel-file').chan...原创 2018-10-18 17:28:05 · 4991 阅读 · 3 评论 -
js数组去重方法
var arrayList = [];arrayList = arrayList.filter(function (element, index, self) { return self.indexOf(element) === index;});原创 2018-11-09 15:34:53 · 176 阅读 · 0 评论 -
js循环递归函数
var arrayList = { name: '1', children: [{ name: '2', children: [{ name: '3', children: [{ name: '4', children: [] }] }] }]}function deep(val) { if (val.children....原创 2018-12-04 15:15:56 · 4378 阅读 · 0 评论 -
js reduce数组循环相加x+y
var num = [1,2,3] var dd = num.reduce((x, y) => { return x + y })原创 2018-12-23 10:08:07 · 840 阅读 · 0 评论 -
特殊字符转义unicode转义
var escapein = function (obj) { var s = ""; if (obj.length == 0) return ""; s = obj.replace(/&/g, "&gt;"); s = s.replace(/</g, "&lt;"); s = s.replace(/&原创 2019-01-15 15:48:39 · 1977 阅读 · 0 评论 -
js moment时间戳与时间格式相互转换
var moment = require('moment')获取时间戳 : var res = moment(Date.now(), 'YYYY-MM-DD HH:mm:ss').valueOf();获取格式时间: var res = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss');原创 2018-06-08 17:16:03 · 102697 阅读 · 4 评论