JavaScript
文章平均质量分 57
Sylvia_2000
这个作者很懒,什么都没留下…
展开
-
关于es6新特性的总结
1.let & const1) let,作用与var类似,用于声明变量特性:let 不能重复声明变量,var 可以重复声明变量;块级作用域,es5中存在全局作用域、函数作用域、eval作用域;es6中引入了块级作用域,let声明的变量在块级作用域{}内有效let声明的变量不存在var的变量提升问题举个例子:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">原创 2021-01-31 21:53:16 · 34895 阅读 · 20 评论 -
利用webworker实现前端的多线程编程
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <!-- 主线程 -->原创 2021-01-07 23:16:15 · 312 阅读 · 0 评论 -
关于promise用法示例及实现原理
文章目录1.用法示例2.实现promise原理1.用法示例 lilei('yo~~').then(hanmeimei).then(liming) function lilei(bang){ return new Promise((open)=>{ console.log('李雷起跑') setTimeout(() => { console.log('李雷到达终点') console.l原创 2021-01-06 22:54:26 · 181 阅读 · 0 评论 -
利用promise及参数解构封装ajax请求
文章目录1.前端代码2.后端1.前端代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body>原创 2021-01-06 16:13:14 · 390 阅读 · 3 评论 -
nodejs生成服务端
1.下载安装脚手架npm i express-generator -g2.生成项目express --no-view testserver3.进入项目,下载依赖cd testserver/npm i4.启动服务端npm start原创 2021-01-05 18:56:17 · 156 阅读 · 0 评论 -
2020-10:节流&防抖及其应用场景和原理
文章目录1.防抖2.节流1.防抖只要不是最后一次触发,就不执行异步请求<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head>原创 2021-01-05 15:08:59 · 334 阅读 · 0 评论 -
2020-9:DOM的浏览器兼容性问题/IE的事件处理和W3C的事件处理有哪些区别
DOM的浏览器兼容性问题1)事件模型2)事件绑定:3)获得事件对象的方法:4)获得目标元素5)阻止冒泡:6)阻止默认行为:7)定义一个函数,可以支持所有浏览器中的处理函数的绑定(考虑浏览器的兼容性)1)事件模型DOM(3个阶段):① 外向内:捕获② 目标触发③ 内向外:冒泡执行IE8(2个阶段):没有捕获阶段① 目标触发② 内向外:冒泡执行2)事件绑定:DOM: elem.addEventListener(‘click’, function(){}, false),第3原创 2021-01-03 15:39:47 · 190 阅读 · 0 评论 -
2020-题目(HTML5)
2020题目(2)1.DOCTYPE的作用?标准模式与兼容模式的区别?2.页面导入样式时,使用link和@import有什么区别?1) 用途:2) 加载顺序3) 优先级4) DOM操作3.对浏览器内核的理解4.常见的浏览器内核种类5.HTML5新特性6.HTML5移除的元素7.如何处理HTML5新标签的兼容性8.对HTML语义化的理解9.[重要]cookie、sessionStorage、localStorage相同点:都存储在客户端不同点:1) 存储大小2) 有效时间3) 数据与服务器之间的交互方式4)实原创 2020-12-30 21:24:14 · 407 阅读 · 1 评论 -
2020-8:实现浏览器内多个标签页之间通信的4种方式(html5 & JavaScript)
1) cookie + setInterval 方式注: cookie、localStorage、sessionStorage在同源页面间属于共享资源。(同源:如两个页面的协议、IP地址、端口号相同,即为同源页面)缺点:① cookie 空间有限,浏览器在每个域名下最多能设置30-50个cookie,容量最多4k左右② 每次 HTTP 请求会把当前域的所有cookie发送到服务器上,包括只在本地才用到的。浪费网络带宽③ setInterval的频率设置,过大会影响浏览器性能,过小会影响时效性优原创 2020-12-30 21:19:08 · 1220 阅读 · 1 评论 -
2020-题目(JavaScript)
1.this指向问题 var length = 10 function fn(){ console.log(this.length) } let obj = { length : 5, method : function(fn){ fn() arguments[0]() } } obj.method(fn,1) // 执行结果:10 22.声明提前 fun原创 2020-12-27 19:43:10 · 150 阅读 · 0 评论 -
2020-7:浅拷贝&深拷贝(JavaScript)
let lili = { name : 'lili', age : 12, scores: null, friends: ['jack','rose'], adress : { province : 'sichuan', city : 'chengdu', }, } // 浅拷贝:如果被拷贝的原始对象中包含对象或数组,拷贝的是其变量保存的值,即引用的地址值 -- 若改变lili2...原创 2020-12-26 22:45:36 · 135 阅读 · 1 评论 -
2020-6:闭包(JavaScript)
let funs = [] for(let i = 0; i < 3; i++){ funs[i] = (function(i){ // 注意此处是按值传递 return function(){ console.log('i:',i) } })(i) } /* 执行后形成闭包 funs = [ function(){ (i=0) console...原创 2020-12-26 19:27:11 · 98 阅读 · 0 评论 -
2020-5:作用域链--this的指向问题(JavaScript)
obj.fun()fun中的this指向 .前的objnew 构造函数()构造函数中的this指向 将来new出的新对象fun()匿名函数自调用:(function(){})()setInterval(function(){…},1000)setTimeout(function(){…},1000)setInterval(obj.fun,1000)setTimeout(obj.fun,1000)以上this均指向windowbtn.addEventListener(‘click’,ob原创 2020-12-26 19:14:00 · 103 阅读 · 0 评论 -
2020-4:数组操作--去重--字典(JavaScript)
let arr = [1,2,3,4,3,2] let dict = {} // 遍历数组,以当前元素作为属性名加入字典中,属性值可随便写 for(let i = 0; i < arr.length; i++){ dict[arr[i]] = 1 } console.log(dict) // 遍历字典,仅获取属性名 let res = [],i = 0 for(res[i++] in dict); // 依次取出...原创 2020-12-26 19:13:05 · 463 阅读 · 0 评论 -
2020-3:字符串操作--统计一个字符串中字符出现的次数,并找出最大值--字典(JavaScript)
// 字典方法 统计一个字符串中字符出现的次数 let str = 'helloworld' let dict = {} // 先定义空对象 for(let i = 0; i < str.length; i++){ // 遍历字符串中每个字符 if(dict[str[i]] === undefined){ // 如果dict对象中未包含以当前字母为属性名的成员,就强行添加一个以当前字母为属性名的成员,并赋属性值为1 dict[str[i]]...原创 2020-12-26 12:13:39 · 558 阅读 · 0 评论 -
2020-2:数据类型的判断(JavaScript)
typeof该方法会将null和数组判断为object类型,将NaN判断为number类型判断null直接用’===’判断NaN用isNaN()函数不能用' ==='也不能用typeof判断数组 let a=[1,2,3]Array.isArray()es5特性,可能有兼容性问题Object.prototype.toString.call() === ‘[object Array]’原生js,无兼容性问题,使用call强行调用顶级父对象的toString()函数,查看该变量的clas原创 2020-12-26 12:06:02 · 94 阅读 · 0 评论 -
原生js封装计算时间差函数
// 声明两个日期var d1=new Date('2019/5/1 10:30:23');var d2=new Date('2019/12/25 00:00:00');// 函数主体function getDValue(date1,date2){ var d=Math.abs(date1-date2); // 得到总秒数 var s=Math.floo...原创 2019-08-16 20:21:54 · 541 阅读 · 0 评论 -
js 数组 冒泡排序
1.使用原生js进行冒泡排序let arr=[74,23,59,80,46,9];// 外层循环:控制比较的轮数for(var i=1;i<arr.length;i++){ // 内层循环:控制比较的次数 for(var j=0;j<arr.length-i;j++){ // 如果当前的元素大于下一个元素,则元素位置交换 if(ar...原创 2019-08-08 14:00:06 · 267 阅读 · 0 评论