
JavaScript
_陌默
也许一个人的存在不会改变整个天空,但是我坚信一个人的存在可以改变他周围的一片天
展开
-
closest的用法
Element.closest() 是一个DOM(文档对象模型)方法,用于从当前元素开始,沿着DOM树向上遍历,直到找到匹配指定选择器的第一个元素。如果没有找到匹配的元素,则返回 null。原创 2024-01-30 14:35:54 · 1055 阅读 · 0 评论 -
vue项目中使用service-worker监测项目更新
注意点:打包的时候只有当打包环境为production的时候,打包时才会生成service-worker.js,且发布之后只有在https和localhost中可以使用。原创 2022-12-15 18:57:41 · 1619 阅读 · 1 评论 -
js获取浏览器的语言具体值
navigator.language原创 2022-06-30 10:30:58 · 405 阅读 · 0 评论 -
在mac电脑本地搭建nginx
1. 首先检查当前电脑是否安装了brew -v// 如果没有安装则执行以下命令,安装brew:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"2. 检查是否安装了 nginx:brew search nginx// 如果没有安装 nginx,则使用以下命令来安装brew install nginx3. 查看nginx 本地配置文件(配置文件为该目录下的n..原创 2021-07-29 18:13:35 · 2368 阅读 · 0 评论 -
封装cookies的set与get方法
const cookies = { defaultConfig: { expires: '1d', path: '; path=/', domain: '', secure: '', sameSite: '; SameSite=Lax' }, get: function(key) { var value = decodeURIComponent(document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s.原创 2021-06-03 18:54:19 · 3798 阅读 · 0 评论 -
js函数调用自身
JS函数调用自身在函数内部调用自身函数的方式为arguments.callee[{id:"a",value:1,children:[{id:"b",value:2,children:[{id:"c",value:3,},{id:"d",value:4,},{id:"e",value:5,}]}]},{id:"f",value:3,},{id:"g",value:4,children:[{id:"h",v...原创 2021-04-21 11:57:29 · 6641 阅读 · 0 评论 -
通过js实现页面布局
(1)请实现上图所示的布局 (2)有以下已知条件: center 区域高度必然大于 left、right 区域 left、right 区域溢出后与 center 区域共用同一滚动条 当 left、right 区域内容溢出后,请实现以下功能: left、right 区域跟随滚动条滚动到底部就固定住,center 区域继续滚动 滚动条向上滚动,当 center 区域滚动到和 left、right 相同高度时,left、right 跟随滚 动,滚动到顶部时,left、right ...原创 2021-04-21 11:42:38 · 2960 阅读 · 0 评论 -
js工具函数
1. 实现一个数组随机打乱算法function disOrder(ary) { for (let i = 0; i < ary.length; i++) { let randomIndex = Math.floor(Math.random() * ary.length); swap(ary, i, randomIndex); }}function swap(ary, a, b) { let temp = ary[a]; ary[a] = ary[b];原创 2021-03-29 13:49:14 · 118 阅读 · 0 评论 -
js监听当前页面是否处于浏览状态
js监听当前页面是否处于浏览状态有以下两种方法:1. 监听页面document的 visibilitychange 事件通过监听document的visibilitychange事件时,获取到的 visibilityState 变量的值来判断当前页面的状态。document.addEventListener('visibilitychange',() => { const state = document.visibilityState console.log(state) // hidde原创 2020-11-30 10:19:41 · 3089 阅读 · 0 评论 -
列表的虚拟加载
列表数据的虚拟加载1. 什么是列表的虚拟加载在网页中,当数据过多时可以选择使用分页加载数据,但是当每页中数据也很多时,只针对可见区域中的数据进行加载,而其他区域的数据则不加载或只进行部分加载。2. 实现原理(1) 页面列表向下滚动时当页面列表向下滚动时,超出可视区上部的列表中DOM元素使用空白区域代替,而不让用户在视觉上有所察觉页面的变化。(2)页面列表向上滚动时当页面列表向上滚动时,超出可视区下部的列表中DOM元素使用空白区域代替,而不让用户在视觉上有所察觉页面的变化。3.原创 2020-09-10 13:45:57 · 831 阅读 · 0 评论 -
正则常用的几种方法test、match、exec、replace
1. text()用途:用于检验一个字符串与正则表达式是否匹配;返回结果:Boolean类型实例:// 检验字符串是不是以数字结尾var str = 'aaaa34324';var exp = /\d$/g;console.log(exp.test(str)); // true2.match()用途:用于在字符串中挑选出符合要求的值的集合;返回结果:Array类型实例:// 从字符串中提取数字var str = '现在是2020年5月19日14时14分。';.原创 2020-05-19 15:24:58 · 530 阅读 · 0 评论 -
gulp常见命令
gulp-htmlmin:压缩html文件 gulp-imagemin:压缩图片 imagemin-pngquant:深度压缩png图片 gulp-cache:只压缩修改的图片 gulp-minify-css:压缩CSS文件 gulp-make-css-url-version:给css文件引用文件加版本号(文件MD5) gulp-rev-append:通过正则(?:href|src)=...原创 2017-06-12 17:41:54 · 3114 阅读 · 0 评论 -
promise与settime的执行顺序
setTimeout(() => { console.log('timeout')})new Promise((resolve) => { console.log('before') resovle('then') console.log('after')}).then(res => { console.log(res)})这...原创 2019-12-05 17:55:14 · 822 阅读 · 0 评论 -
前端面试经典题型
1. let和var的区别:题目: for(var i=0;i<3;i++){ setTimeout(() => { console.log(i); }, 1); } for(let j=0;j<3;j++) { setTimeout(() => { consol...原创 2019-08-29 12:02:20 · 398 阅读 · 0 评论 -
判断window对象的方法
function isWindow(obj) { return obj != null && obj.window === obj; }只有window对象有window属性,且等于它本身。原创 2019-07-26 16:46:22 · 993 阅读 · 0 评论 -
JS 开发常用工具函数
1、isStatic:检测数据是不是除了symbol外的原始数据function isStatic(value) { return( typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof...原创 2019-07-18 16:46:37 · 512 阅读 · 0 评论 -
ES6知识总结
1. 简介:ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。2.ES6新特性: 2.1....原创 2019-07-16 16:12:19 · 192 阅读 · 0 评论 -
&& 、 || 赋值计算与?
1. ||:首先在对于 a || b,大家都知道判断标准是只有当 a 为 false且 b 为 false时,整个语句为 假,否则为真。因此,在c = a ||b 中,只有当a 为 false 时才会考虑 b 的值,即:当 a 不为 false 时,等同于 c = a; 当 a 为 false 时,等同于 c = b;2. &&: 对于 a && b. ...原创 2019-05-29 13:52:49 · 789 阅读 · 1 评论 -
js判断数据类型
通过对一个值使用 typeof 操作符会返回一下结果:‘undefined’:这个值未定义; ‘boolean’: 这个值是布尔值; ‘string’: 这个值是字符串; ‘number’:这个值是数值; ‘object’:这个值是对象或 null; ‘function’:这个值是函数;但是在实际应用中往往需要判断一个值是不是数组,这时候就用到了instanceof,我们可以使用...原创 2019-06-05 13:56:20 · 4194 阅读 · 0 评论 -
Cookie, LocalStorage 与 SessionStorage的区别
首先它们的作用都是储存数据,但是具体的作用各有千秋:1.sessionStorage,首先‘session’是会话的意思,sessionStorage 它可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但当页面关闭后,sessionStorage 中的数据就会被清空。2.localStorage,本地缓存,除非被清除,否则永久保存。3.cookie,首先‘cookie’是...原创 2017-09-26 12:52:57 · 348 阅读 · 0 评论 -
JS中改变css样式的方法JavaScript
var oLi =document.getElementById('li');oLi.style.height=200+'px'; // 第一种oLi.style[height] = 200+'px'; // 第二种oLi.style.cssText ='height:200px'; // 第三种oLi.className += 'height'; // 第四种oLi.clas...原创 2017-11-01 09:57:48 · 332 阅读 · 0 评论 -
js的函数定义
*什么是函数?功能是什么? 函数是一个功能模块,可以被复用(重用)*在js中如何声明一个函数? 1)命名函数 语法: function 函数名([参数列表]){ //功能代码 } 1.1)不带参数的函数 function 函数名(){ //功能代码原创 2017-11-01 10:06:39 · 535 阅读 · 0 评论 -
js日期格式化
//setTimeout递归调用显示时间var t = setTimeout(function(){ //获取当前时间 var time = new Date(), Year = time.getFullYear(), Month = time.getMonth() + 1, //月份的参数介于 0 - 11 之间,也就是说,如果希望...原创 2017-11-01 10:09:55 · 250 阅读 · 0 评论 -
js中的基础知识
怎么在页面中引入js?(js是控制行为的,html是控制网页结构,css控制页面元素的表现)* 直接把js脚本嵌入在元素中<ponclick="alert('hello,js')">点击我吧</p>* 把js脚本嵌入在html页面中<script type="text/javascript"> alert("hello,ever...原创 2017-11-01 10:11:17 · 257 阅读 · 0 评论 -
js数组相关函数
1.合并两个数组 - concat()var hege = ["Cecilie", "Lone"];var stale = ["Emil", "Tobias", "Linus"];var kai = ["Robin"];var children = hege.concat(stale,kai);document.write(children);2.合并三个数组 - ...原创 2017-11-01 10:16:54 · 670 阅读 · 0 评论 -
JS中获取标签的宽和高
var oText = document.getElementById('text'); oText.style.width: 在JS中如果想要通过它来获取标签的宽度时,只有当该标签的宽度设置在HTML中通过style来设置时才可以实现。getComputedStyle(oText.width) :获取到的是经过计算机或浏览器计算后的样式,但是在IE6,7,8下不兼容此时可以用oText.原创 2017-11-01 10:26:56 · 4350 阅读 · 0 评论 -
比较运算符与位运算符
比较运算符:--结果是boolean值(true或者false)>、<、>=、<=、==只判断值、!=、===既判断值又判断数据类型、!== document.write(1>2);document.write("<br>");document.write(1==2);document.write("<br&...原创 2017-11-01 10:29:56 · 592 阅读 · 0 评论 -
正则表达式
正则表达式:什么是正则表达式?它的作用是什么?---正则表达式就是拿一些通配符去制定一个字符串的格式(规则)。它主要用来去验证一个字符串是否符合我们约定的格式,还有一个功能就是查询符合规则的字符串。正则表达式的好处? 可以减少很多逻辑判断,减少了代码量,比较灵活。如何创建正则表达式对象?1) var reg=/规则/参数;2) var ...原创 2017-11-01 10:39:01 · 530 阅读 · 0 评论 -
长连接与短连接的的区别
一. 概念:1. 短连接: 指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送(百度百科)。2. 长连接( keep-alive ): 指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包(百度百科),通俗的讲:长连接就像 是一通不挂机的电话:双方一直在线,随时可以通话,当然前提是你有足够的话费 ^_^ ...原创 2018-04-28 10:50:18 · 3483 阅读 · 0 评论 -
toLocaleString函数的使用
object.toLocaleString()函数用于将当前对象以字符串值的形式返回,该字符串的格式适合当前宿主环境的当前区域设置。由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。此方法返回的结果都为String类型的;1. 当object 为 数组对象(Array)时,则将每个数组元素转换为字符串,并将这些字符串之间以指定的分隔符拼接起来后返回,...原创 2019-04-11 11:43:17 · 8083 阅读 · 0 评论 -
获取标签的子元素
<ul id="list"><!-- <li>0</li> --> <li>1</li> <li>2</li> <li>3</li> <li>4</li></ul> <script> var...原创 2019-05-24 17:47:37 · 3561 阅读 · 0 评论 -
十大基本算法介绍
转载地址:https://www.cnblogs.com/onepixel/articles/7674659.html一、算法概述:1.算法分类: 十种常见算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能超过Q(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下限, 以...转载 2019-05-17 14:34:46 · 102294 阅读 · 14 评论 -
网络协议
网络协议分类:OSI七层网络模型 TCP/IP四层概念模型 对应网络协议 应用层 ( Application ) 应用层 HTTP, TFTP, FTP, NFS, WAIS, SMTP 表示层 ( Presentation ) Telnet, Rlogin, SNMP, Gopher 会话层 ( Session ) SMTP, DNS 传...原创 2019-05-17 15:06:02 · 641 阅读 · 0 评论 -
call 和apply的作用与区别
首先先说明它们共同的作用:call和apply都是用来修改函数中this的指向问题;其次就是它们不同的传参方式:注意上一句话中说他们的作用时有两个关键词 ‘函数’和‘this’,想要修改this的指向,那么必然有一个this修改后的指向,而函数必然后关系到传参问题:call方法可以传给该函数的参数分别作为自己的多个参数,而apply方法必须将传给该函数的参数合并成一个数组作为自己的一个参数...原创 2019-05-23 17:28:17 · 50860 阅读 · 7 评论 -
用javascript源码打印页面
用javascript源码打印页面时出现的网址问题以及部分打印原创 2017-06-08 16:59:50 · 510 阅读 · 0 评论