- 博客(14)
- 收藏
- 关注
原创 同步与异步
js是单线程的,同步和异步的最大区别是执行顺序不同,所有的同步任务会放在主线程中执行,异步任务放在异步列表中,当异步任务满足条件执行它的回调函数时,就将它的回调函数当到异步队列中,主线程的同步任务执行完就会到异步队列中看看,然后执行这些回调函数。这个过程是不断循环的,称为事件循环。 ...
2022-04-11 14:09:27
78
原创 变量计算-类型转换
字符串拼接 == 和 === if 语句 和 逻辑运算 const a = 100 + 10 //110 const b = 100 + '10'; //'10010' const c = true + '10'; //'true10' 100 == '100' //true 0 == '' //true 0 == false //true false == '' //true null == undefined //true //除了 == null 之外,其它
2021-09-09 20:34:42
73
原创 typeof 运算符
识别所有值类型 识别函数 判断是否是引用类型(不可再细分) let a; const str = 'abc'; const n = 100; const b = true; const s = Symbol('s'); console.log(typeof a) console.log(typeof str) console.log(typeof n) console.log(typeof b) console.log(typeof s) //undefined //string //nu
2021-09-09 19:36:26
71
原创 line-height继承问题
继承的line-height为50px { font-size: 20px; line-height: 50px; } 继承的line-height为30px { font-size: 20px; line-height: 1.5; } 继承的line-height为40px { font-size: 20px; line-height: 200%; } ...
2021-09-09 12:53:16
100
原创 居中对齐的方法
水平居中 inline元素:text-align: center block元素:margin: auto absolute元素:left: 50% + margin-left 负值 垂直居中 inline元素:line-height的值等于height值 absolute元素:top: 50% + margin-top负值 absolute元素: top:50% + transform(-50%, -50%) absolute元素:top, left, bottom, right =0 .
2021-09-09 12:13:13
141
原创 js的作用域
全局作用域 全局作用域在页面打开时被创建,页面关闭时被销毁 编写在script标签中的变量和函数,作用域为全局,在页面任何位置都可以访问的到 在全局作用域中有全局对象window,代表一个浏览器对象,有浏览器创建,可以直接调用 全局作用域中声明的变量和函数会作为window对象的属性和方法保存 函数作用域 调用函数时,函数作用域被创建,函数执行完毕,函数作用域被销毁 每调用一次函数就会创建一个新的函数作用域,他们之间是相互独立的 在函数作用域中可以访问到全局作用域的变量,在函数外无法访问到函
2021-08-25 18:59:18
81
原创 浅拷贝和深拷贝
浅拷贝是创建一个新对象,这个对象有着原始对象属性的一份精确拷贝 如果属性是基本类型,拷贝的是值;如果属性是引用类型,拷贝的是内存地址。如果对其中的一个对象改变了地址,另一个对象也会受到影响。 深拷贝是将一个对象从内存中完整地拷贝一份出来,从堆内存中开辟一个新的区域存放新对象,修改新对象不会影响原对象。 赋值:当我们把一个对象赋值给一个新的变量时,赋的其实是该对象在栈中的地址,而不是堆中的数据。两个对象指向的是同一个存储空间。 var obj = {}; var person = { n
2021-08-25 14:18:01
74
原创 防抖函数和节流函数的理解和实现
防抖函数 当连续触发事件 一定时间内没有再触发事件 事件处理函数才会执行一次 如果设定的时间到来之前又触发一次事件,重新开始延时,代表的是重新开始定时器。 意味着上一次还没结束的定时器要清除,重新开始。 <body> <input type="text" id="input"> </body> <script> let input = document.querySelector('#input'); function debounce(
2021-08-25 14:17:20
149
原创 this指向问题
函数调用的时候会执行call()方法 function get(content){ console.log(content) } get('xixi'); get.call(window,'xixi'); 函数作为对象的方法被调用时也会执行call()方法 var person = { name:'张三', run:function(time){ console.log(this.name,time); } } person.run(2) per..
2021-08-23 17:12:10
87
原创 预编译-js
function fn(a,e){ console.log(a); console.log(e); var a = 123; console.log(a); console.log(c); function a(){} if(false){var d = 456} console.log(d) console.log(b) var b = function (){} console.log(b); functi.
2021-08-23 12:19:07
71
原创 width:100%与width:auto区别
width:auto 子元素(包括content+padding+border+margin)撑满整个父元素的content区域。 父元素的content = 子元素(content + padding + border + margin ) <div class="father"> <div class="son"></div> </div> .father { width: 100px; height: .
2021-05-15 14:12:45
101
原创 css盒子模型
盒子模型 是什么? 由content(内容)、padding(内边距)、margin(外边距)、border(边框)四部分组成。在页面上所占的实际大小为content+padding+margin+border 两种类型:标准盒模型 和 IE盒模型 标准盒模型:内容大小为content(如:width=width) IE盒模型:内容大小为content+padding+border(如:width=width+左右内边距+左右边框) 使用box-sizing设置盒模型:标准盒模型(conten..
2021-05-15 11:22:57
63
原创 HTML语义化
HTML语义化 为什么要标签语义化? 有利于SEO 代码结构好,更具可读性,便于团队开发和维护 提升用户体验 方便其它设备解析 常见的语义标签 <h1>~<h6> <em>标记内容着重点(大量用于提升段落文本语义),通常呈现为斜体文字。 <header>用于定义页面的介绍展示区域,通常包括网站logo、主导航、全站链接以及搜索框。也适合对页面内部一组介绍性或导航性内容进行标记。 <nav>定义页面的导航链接部分区域,不是所...
2021-05-15 11:00:44
85
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人