![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS基础知识
GG·bond
这个作者很懒,什么都没留下…
展开
-
截取URL中的参数值
截取URL中的参数值`//对encodeURI()编码过的 URI 进行解码。function getUrlParam(name) {var reg = new RegExp("(^|&)" + name + “=([^&]*)(&|$)”, “i”);var r = window.location.search.substr(1).match(reg);if(r != null){return decodeURI(r[2]);}return “”;//如果此处只写原创 2022-02-28 16:22:00 · 274 阅读 · 0 评论 -
ES6查漏补缺
ES6查漏补缺1. let 和const 命令区别于var不存在变量提升let 是块级作用域,只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响const命令同样适用let不允许在相同作用域内,重复声明同一个变量重点: let实际上为 JavaScript 新增了块级作用域,即外层代码块不受内层代码块的影响块级作用域内部,优先使用函数表达式const声明一个只读的常量。一旦声明,常量的值就不能改变;const原创 2022-02-10 15:32:28 · 1209 阅读 · 4 评论 -
js运算符号顺序
原创 2022-01-05 15:06:47 · 366 阅读 · 0 评论 -
JS基础知识四:scrollWidth, clientWidth, offsetWidth的区别
scrollWidth, clientWidth, offsetWidth的区别1. 定义scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大。clientWidth:对象内容的可视区的宽度,不包滚动条等边线,会随对象显示大小的变化而改变。offsetWidth:对象整体的实际宽度,包滚动条等边线,会随对象显示大小的变化而改变。2. 具体情况2-1、元素内无内容或者内容不超过可视区,滚动不出现或不可用的情况下scrollWidth=client原创 2022-01-17 10:20:43 · 572 阅读 · 0 评论 -
JS基础知识三:宏任务和微任务
宏任务和微任务一、宏队列,macrotask,也叫tasks。 一些异步任务的回调会依次进入macro task queue,等待后续被调用setTimeoutsetIntervalsetImmediate (Node独有)requestAnimationFrame (浏览器独有)I/OUI rendering (浏览器独有)二、微队列,microtask,也叫jobs。 另一些异步任务的回调会依次进入micro task queue,等待后续被调用process.nextTick原创 2021-12-16 18:13:16 · 2779 阅读 · 2 评论 -
JS基础知识二:Event Loop
Event Loop一、JavaScript是单线程作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。假如JS是多线程,JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。二、 任务队列单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务,如原创 2021-12-16 16:30:52 · 353 阅读 · 0 评论 -
JS基础知识一:数据存储
数据存储1.简单类型存储在栈stack2.复杂类型在栈中存储一个地址,指向堆中具体实例示例:function fn(){ let a = 1; let b = 2; let c = { name : "胡歌" }}a,b都存放在栈(stack)中,c在栈中只有一个地址,指向堆中内存泄漏当函数fn()执行完毕之后,三个变量消失,栈清空内存,堆中的那个对象实例继续存在,直到系统的垃圾清理机制(garbage collector)将这块内存回收。因此,一般来说,内存泄漏都发原创 2021-12-16 15:43:56 · 272 阅读 · 0 评论