随笔分类 -  JS基础

摘要:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。(很官方) 即是把原本需要绑定在子元素的响应事件(click、keydown......)委托给父元素,让父元素担当事件监听的职务。事件代理的原理是DOM元素的事件冒泡。(简单理解) 优点 1、可以大量节省内存占用 2、 阅读全文
posted @ 2020-06-08 17:30 麦子同学 阅读(174) 评论(0) 推荐(0)
摘要:onclick添加事件不能绑定多个事件,后面绑定的会覆盖前面的。而addEventListener能添加多个事件绑定,按顺序执行。 addEventListener方式,不支持低版本的IE。(attachEvent 支持IE),所以需要封装下。 普通方式绑定事件后,不可以取消。addEventLis 阅读全文
posted @ 2020-06-08 14:15 麦子同学 阅读(335) 评论(0) 推荐(0)
摘要:该属性 是html5新增的,兼容性不好。是真的很好用。操作方法极其类似数组。 <div id="ant" class="a b">蚂蚁部落</div> //js let odiv = document.getElementById("ant"); //追加类名aaa odiv.classList.a 阅读全文
posted @ 2020-06-05 16:45 麦子同学 阅读(423) 评论(0) 推荐(0)
摘要:querySelector--只获取1个 //举例 document.querySelector(".wrap") document.querySelector("#wrap") document.querySelector("div") document.querySelector(".wrap 阅读全文
posted @ 2020-06-05 16:02 麦子同学 阅读(2357) 评论(0) 推荐(0)
摘要:addEventListener:只支持ie9以上版本;attachEvent:支持ie8以下版本。 attachEvent和addEventLitener的不同之处是第二个参数事件名要多加个“on” //兼容ie 低版本 function addEvent(domNode, eventType, 阅读全文
posted @ 2020-06-05 15:28 麦子同学 阅读(575) 评论(0) 推荐(0)
摘要:for循环操作DOM //获取起始时间 const startTime = new Date().getTime() //获取body const bodyDom = document.getElementsByTagName("body")[0] for (let i = 0; i < 10000 阅读全文
posted @ 2020-06-04 14:23 麦子同学 阅读(2197) 评论(0) 推荐(0)
摘要:for //可以利用break、continue等关键字来终止或者跳出循环。 break //终止循环。(皇上选美女,说:停,不选了。。。后边的就都不看了) continue //跳过此次循环 (这次皇上比较贪婪,说:跳过这个,后边的继续。。。) //例子 for (let i = 0; i < 4 阅读全文
posted @ 2020-06-03 15:50 麦子同学 阅读(333) 评论(0) 推荐(0)
摘要:ES5 有全局作用域+函数作用域 for (var i = 0; i < 8; i++) { var a = 100 } console.log(a) //100 ES6 增加 块级作用域 1、块级作用域,子级可以访问父级的变量 2、 for (var i = 0; i < 8; i++) { le 阅读全文
posted @ 2020-06-03 15:26 麦子同学 阅读(113) 评论(0) 推荐(0)
摘要:一、基础数据类型(值类型) String 、Number 、Boolean undefined、Null、Symbol 二、复杂数据类型(引用类型) JSON 删除属性 const obj ={ a:1, b:2 } //删除属性 delete obj.a; 获取到所有属性 let keys = O 阅读全文
posted @ 2020-06-01 17:41 麦子同学 阅读(89) 评论(0) 推荐(0)
摘要:一、具名函数 和 函数声明的方式 具名函数可随处定义,调用不会报错。 函数声明必须先定义,再调用,否则报错。 区别:具名函数存在函数提升,函数声明不存在函数提升 二、匿名函数自执行 //书写方式,2个小括号。括号1是匿名函数,括号2代表执行,里边是实参 (function(a){ console.l 阅读全文
posted @ 2020-06-01 17:31 麦子同学 阅读(116) 评论(0) 推荐(0)
摘要:一、页面加载顺序 //页面执行顺序:自上而下。 1、css放在head 先家在样式,后加载DOM元素,解决页面首次加载空白问题 2、js放在body尾部 a.解决页面阻塞;b.避免无法获取对象; 二、常用DOM操作命令 //创建 dom 元素 document.createElement("div" 阅读全文
posted @ 2020-06-01 14:17 麦子同学 阅读(441) 评论(0) 推荐(0)
摘要:1、下载 http-server npm install http-server -g 2、开启 http-server 服务 http-server -c -1 3、问题:发现网址无法访问 解决办法: npm install -g anywhere anywhere -p 8080 阅读全文
posted @ 2020-05-29 14:01 麦子同学 阅读(310) 评论(0) 推荐(0)
摘要:cookie 存 document.cookie = "username=zs" //document.cookie="键=值; expires=过期时间" 取 console.log(document.cookie) //username=zs; age=18 //取出来 是一个字符串形式,需要用 阅读全文
posted @ 2020-05-27 15:25 麦子同学 阅读(117) 评论(0) 推荐(0)
摘要:findIndex 常用情境:根据id找到数组的索引值 filter 常用情境:数组过滤,生成新数组 map 常用情境:遍历数组,生成新数组(不改变原数组) splice 常用情境:删除数组中指定位置的元素(直接操作原数组) 阅读全文
posted @ 2020-04-24 16:24 麦子同学 阅读(156) 评论(0) 推荐(0)
摘要:参考 https://www.jianshu.com/p/51188659d778 阅读全文
posted @ 2020-04-09 14:12 麦子同学 阅读(1172) 评论(0) 推荐(0)
摘要:一、promise概念 阅读全文
posted @ 2020-03-30 11:19 麦子同学 阅读(131) 评论(0) 推荐(0)
摘要:定时器分类 点击按钮,开启定时器 防止多次点击按钮,导致开启多个定时器,定时器加速。在每次点击按钮时候,判断定时器是否已经开启 阅读全文
posted @ 2020-03-27 14:44 麦子同学 阅读(111) 评论(0) 推荐(0)
摘要:1、变量提升只针对等号左边进行提升~~~~ 1. 变量提升只针对等号左边进行提升 2. 如上题:正确执行顺序是 2、当前作用域内,不管条件语句是否成立,都要进行变量提升 3、一些总结 变量提升 在JS代码执行之前,浏览器要先过一遍代码,把其中带var和带function 关键字内容提前声明 带var 阅读全文
posted @ 2020-02-28 16:17 麦子同学 阅读(321) 评论(0) 推荐(0)
摘要:一.定义函数的两种方式 1.函数声明 上述abs()函数的定义如下: function指出这是一个函数定义; abs是函数的名称; (x)括号内列出函数的参数,多个参数以,分隔; { ... }之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句。 2.表达式 两种方式大体相同,除了变量提升。 阅读全文
posted @ 2020-02-27 16:58 麦子同学 阅读(105) 评论(0) 推荐(0)
摘要:html js 阅读全文
posted @ 2020-02-27 14:53 麦子同学 阅读(87) 评论(0) 推荐(0)