JavaScript 笔记
文章平均质量分 74
学习过程中记录的笔记
一颗不甘坠落的流星
前端专栏博主,目标是归纳前端所需要各种技术的使用,不是在补充、就是在重写博客的路上,一步步完善中。
展开
-
【JS】获取当前浏览器版本和电脑系统版本
JS 获取当前浏览器版本和电脑系统版本信息原创 2024-05-16 15:32:11 · 231 阅读 · 0 评论 -
【JS笔记】JavaScript with语句
with语句简介:with用于在访问一个对象的属性或方法时避免重复使用对象指定对象引用。语法格式:with(object){ 被执行的代码块}参数说明:object:指定在被执行的代码块中没有被引用的情况下使用哪个对象的引用。例题:<script> var date = new Date(); with(date){ alert("现在的时间是...原创 2019-10-28 20:35:41 · 212 阅读 · 0 评论 -
【JS笔记】JavaScript prompt()方法的使用
JavaScript prompt()方法prompt()方法:用于弹出显示可提示用户进行输入的对话框,方法返回用户输入的字串符。语法格式:prompt(msg,defaultText);参数说明:msg(可选项):需要在对话框中显示的纯文本(不是HTML格式的文本)。defaultText(可选项):默认的输入文本,可以不写,也可以为空。例1:defaultTex...原创 2019-10-24 22:16:49 · 8910 阅读 · 0 评论 -
【JS笔记】JavaScript for...in...语句
for…in…语句简介:for…in…循环与for循环十分相似,for…in…语句用来遍历对象的每一个属性。每次都将对象名作为字串符保存在变量里。主要用于枚举对象集合的属性。语法格式:for(variable in collection){ 被执行的代码块}参数说明:variable:表示属性的变量。collection:表示属性的集合。例题1:<...原创 2019-10-28 20:08:15 · 162 阅读 · 0 评论 -
【JS笔记】JavaScript sort()方法使用及原理
JavaScript sort()方法:sort()方法:使数组中的元素按照一定顺序排列语法格式:Array.sort(function());参数说明:Array(必选项):任意数组对象。function()(可选项):规定排序顺序。使用方法:如果不指定方法函数function(),则按照Unicode码顺序排列。例1:Array数组均为字母型字符串,则按字母顺序排列:var...原创 2019-10-24 16:25:29 · 560 阅读 · 0 评论 -
【JS笔记】JavaScript 字串符对象中各方法的使用(match,search,replace,split)
字串符对象match()方法:简介:可以使用正则表达式模式对字串符进行搜索,返回一个包含搜索结果的数组。语法格式:match(regExp) 如果没有为正则表达式设置全局标志(g),match()方法产生的结果与没有设置全局标志(g)的exec()方法的结果是完全相同。 如果设置了全局标志(g),match()方法返回的数组中包含所有完整的匹配结果,元素0~n依次是每个完整的...原创 2019-10-29 17:21:52 · 427 阅读 · 0 评论 -
【JS笔记】JavaScript splice()方法的使用
JavaScript splice()方法splice()方法:插入、删除、或者替换一个数组元素,然后返回被删除的元素。语法格式:array.splice(index,howmany,n1,n2,···,nx);参数说明:index(必选项):该参数是开始插入和(或)删除的数组元素的下标, 必须是数字。howmany(必选项):规定删除多少元素,必须是数字,可以为0,...原创 2019-10-24 19:19:55 · 257 阅读 · 1 评论 -
【JS】事件汇总(方便查找)
事件汇总,方便快速查找,及时上手。原创 2024-01-23 12:30:46 · 1419 阅读 · 0 评论 -
【JS】Error 对象详解
- `Error` 对象: - JavaScript 中当错误发生时提供错误信息的内置 error 对象。 - 当运行时错误产生时,Error 对象会被抛出。 - Error 对象也可用于用户自定义的异常的基础对象。原创 2024-01-17 15:27:55 · 1827 阅读 · 0 评论 -
【JS】运算符优先级汇总
js 各级运算符优先级汇总原创 2023-08-02 17:48:03 · 490 阅读 · 0 评论 -
【JS】自调用函数(自执行函数)
自调用函数使用方法及解析 ( function(){} )()原创 2023-07-07 10:28:08 · 1075 阅读 · 0 评论 -
【JS】将表格数据下载为 .csv 文件
将表格数据下载保存为 .csv 文件到本地原创 2023-07-03 09:44:11 · 607 阅读 · 0 评论 -
【JS】实现 Base64 编码和解码(及中文乱码问题)
项目中实现 Base64 编码和解码原创 2023-06-06 16:44:33 · 14935 阅读 · 1 评论 -
【JS】获取 Headers 头部信息
获取 Headers 头部信息,以及headers各实例方法的使用。原创 2023-05-25 10:14:39 · 9504 阅读 · 0 评论 -
【JS】内置对象 Number 详解
内置对象 Number 详解:Number.isFinite()、Number.isInteger()、Number.isNaN()、Number.isSafeInteger()、Number.parseFloat()、Number.parseInt()、Number.prototype.toExponential()、Number.prototype.toFixed()、Number.prototype.toLocaleString()、Number.prototype.toPrecision()原创 2023-05-05 14:25:03 · 846 阅读 · 0 评论 -
【JS】URL 接口
URL 接口用于解析,构造,规范化和编码 URL。它通过提供允许您轻松阅读和修改 URL 组件的属性来工作。通常,通过在调用 URL 的构造函数时将 URL 指定为字符串或提供相对 URL 和基本 URL 来创建新的 URL 对象。然后,您可以轻松读取 URL 的已解析组成部分或对 URL 进行更改。原创 2023-01-06 12:13:51 · 2033 阅读 · 0 评论 -
【JS】postMessage 用法(可以给iframe传值)
跨文档消息,有时候也简称为`XDM(cross-document messaging)`,是一种在不同执行上下文(如不同源的页面)间传递信息的能力。例如:`www.wrox.com`上的页面想要与包含在内嵌窗格中的`p2p.wrox.com`上面的页面通信`XMD`的核心就是`postMessage()`方法,将`message`传递给指定窗口原创 2022-12-08 17:05:06 · 12000 阅读 · 0 评论 -
【JS】隐式转换
js 里面各种隐式类型转换,面试高频考点原创 2022-10-29 15:14:49 · 492 阅读 · 0 评论 -
【JS】performance.now 方法(类似于Date.now)
performance.now:是浏览器(Web API)提供的方法,不同浏览器获取到的精度不同。Date.now:是Javascript内置方法,差异主要在于浏览器遵循的ECMAScript规范。原创 2022-10-26 19:18:57 · 4935 阅读 · 0 评论 -
【JS】iframe 实现加载 loading 效果(包含Vue和React案例)
iframe 实现加载 loading 效果(包含Vue和React案例)原创 2022-08-04 16:21:55 · 1893 阅读 · 0 评论 -
【JS】将字符串保存成文件到本地(.txt、.json、.md...)
将字符串保存成 .txt 文件到本地、将字符串保存成 .json 文件到本地、将字符串保存成 .md 文件到本地、原创 2022-07-21 09:46:14 · 15750 阅读 · 3 评论 -
【JS】你不知道的 console 命令
尽管 console.log 有其适用的场合,大多数人仍然没有意识到 console 本身除了基础 log 还有许多选择。合理使用这些方法能让调试更简单、更快速,并且更加直观。原创 2022-07-20 11:00:07 · 1679 阅读 · 0 评论 -
【JS】深浅拷贝
文章目录浅拷贝深拷贝实现拷贝1. 用slice实现对数组的拷贝2. 用concat实现对数组的拷贝3. 使用扩展运算符实现拷贝4. 通过jQuery的extend方法实现拷贝简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。var a = 1;b = a; // 栈内存会开辟一个新的内存空间,此时b和a都是相互独立的b = 2;console.log(a); // 1浅拷贝浅拷贝会对对象逐个成原创 2021-07-06 13:44:54 · 96 阅读 · 0 评论 -
【JS】事件详解(包含绑定、传播、委托和阻止事件)
讲解了从事件绑定,到事件传播(冒泡和捕获)、再到事件委托和阻止事件的使用方法原创 2022-06-02 16:37:58 · 1285 阅读 · 0 评论 -
【JS】BOM 详解(工作必备)
- BOM(Browser Object Model):浏览器对象模型- 其实就是操作浏览器的一些能力- 我们可以操作哪些内容1. 获取一些浏览器相关信息(窗口大小)2. 操作浏览器的滚动条3. 浏览器的信息(浏览器的版本)4. 让浏览器出现一个弹出框(alert、confirm、prompt)- BOM的核心就是window对象- window是浏览器内置的一个对象,里面包含着操作浏览器的方法原创 2023-04-15 12:40:40 · 4344 阅读 · 0 评论 -
【JS】toString 和 valueOf 方法
转字符串 toString()Number.prototype.toString()toString() 方法:返回指定 Number 对象的字符串表示形式。语法:/* radix: 指定要用于数字到字符串的转换的基数(从2到36)。*/numObj.toString([radix])// 参数- 如果未指定 radix 参数,则默认值为 10。示例:var count = 10;console.log(count.toString()); // 输出 '10'原创 2022-05-16 16:37:25 · 399 阅读 · 0 评论 -
【JS】URLSearchParams 对象(以对象的形式上传参数到url)
文章目录基本用法实践运用基本用法此功能某些浏览器尚在开发中,兼容性可能不是很好。URLSearchParams() 构造器:创建并返回一个新的URLSearchParams 对象。 开头的’?’ 字符会被忽略。语法:// init: 参数可选,为一个 USVStringvar URLSearchParams = new URLSearchParams(init);示例:// 传入一个字符串字面值var url = new URL('https://example.com?fo原创 2022-04-20 17:15:09 · 3401 阅读 · 0 评论 -
【JS】fetch() 用法
文章目录fetch 基本使用Response 对象1、同步属性2、判断请求3、操作标头4、读取内容5、创建副本6、底层接口定制 HTTP 请求取消 fetch 请求fetch 基本使用Fetch API 提供了一个获取资源的接口(包括跨域请求),用于取代传统的XMLHttpRequest的,在 JavaScript 脚本里面发出 HTTP 请求。目前还没有被所有浏览器支持,如果考虑低版本浏览器的问题的话,引入https://github.com/github/fetch/blob/master/f原创 2022-03-30 10:58:22 · 37280 阅读 · 4 评论 -
【JS】异步编程与回调地狱问题
文章目录一、回调函数二、异步编程三、回调地狱一、回调函数什么是回调函数?就是把函数 A 当作参数传递到 函数 B 中在函数 B 中以行参的方式进行调用function A() { console.log('我是函数 A');}function B(fn) { fn();}B(A);为什么需要回调函数但我们执行一个异步的行为时候,我们需要一个异步行为执行完毕之后做一些事情那么,我们是没有办法提前预知这个异步行为是什么时候完成的我们就只能以回调函数的形式来进行二原创 2022-02-21 10:58:35 · 512 阅读 · 0 评论 -
【JS】函数的 arguments 对象
文章目录基本用法基本用法arguments :是一个特殊的类数组对象,该对象按参数索引包含所有参数。但它终究不是数组,不支持数组方法,因此我们不能调用 arguments.map(...) 等方法。function add() { console.log(arguments);}add(1,2,3);示例: 遍历求参数和function add() { console.log(arguments[0]); // 1 console.log(arguments[1原创 2022-02-09 11:22:47 · 582 阅读 · 0 评论 -
【JS】构造函数(自定义)
构造函数基本语法添加方法构造函数(自定义):主要的作用就是创造对象,实现可重用的对象创建代码基本语法相当于普通函数,但是有2个约定:1. 它们只能由 "new" 操作符来执行(必须)2. 它们的命名以大写字母开头(只是一种规范,不大写也行)当一个函数被使用 new 操作符执行时,它按照以下步骤:1. 一个新的空对象被创建并分配给 this。2. 函数体执行。通常它会修改 this,为其添加新的属性。3. 返回 this 的值。function User(name) {原创 2022-02-08 11:33:17 · 961 阅读 · 0 评论 -
【JS】高阶函数
高阶函数高阶函数定义高阶函数分析高阶函数定义- 函数可以作为参数传递(接受一个或多个函数作为输入)- 函数可以作为返回值输出(输出一个函数)常见的高阶函数1. 定时器设置函数2. 数组的 forEach()/map()/filter()/reduce()/find()/bind()3. promise4. react-redux 中的 connet 函数高阶函数分析...原创 2021-12-24 17:11:04 · 424 阅读 · 0 评论 -
【JS】柯里化函数(Currying)
柯里化概念柯里化(Currying)是一种关于函数的高阶技术柯里化是一种函数的转换,不会调用函数。它只是对函数进行转换。指将一个函数从可调用的 f(a, b) 转换为可调用的 f(a)(b)传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。// 求和函数function sum(x, y) { return x + y;}// 进行柯里化function sumCurry(x) { // curry(f) 执行柯里化转换 return function(y) {原创 2021-03-15 01:46:50 · 529 阅读 · 1 评论 -
【JS】纯函数
纯函数纯函数定义纯函数优点纯函数定义相同的输入总会得到相同的输出,并且不会产生副作用(额外的影响)的函数,就是纯函数。相同的输入总会得到相同的输出非纯函数:var a = 10function add(b) { a += b return a}add(1) // 11add(1) // 12add(1) // 13add(1) // 14纯函数:function add(a, b) { return a + b}add(1, 2) // 3原创 2021-12-23 19:38:30 · 715 阅读 · 0 评论 -
【JS】剪切板操作(手写复制、粘贴功能)
文章目录Document.execCommand() 方法Clipboard 对象介绍Clipboard 对象方法浏览器允许 JavaScript 脚本读写剪贴板,自动复制或粘贴内容。一般来说,脚本不应该改动用户的剪贴板,以免不符合用户的预期。但是,有些时候这样做确实能够带来方便,比如"一键复制"功能,用户点击一下按钮,指定的内容就自动进入剪贴板。目前,一共有三种方法可以实现剪贴板操作。1. Document.execCommand()方法2. 异步的 Clipboard API3. c原创 2021-12-20 14:58:06 · 11815 阅读 · 3 评论 -
【JS】事件循环机制(Event Loop)
文章目录单线程任务队列事件和回调函数事件循环机制定时器(setTimeout)宏任务(macro-task)、微任务(micro-task)单线程什么是单线程?就是进程只有一个线程。单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。单线程处理的优点:同步应用程序的开发比较容易,但由于需要在上一个任务完成后才能开始新的任务,所以其效率通常比多线程应用程序低。如果完成同步任务所用的时间比预计时间长,应用程序可能会不响应JavaScript语言的一大原创 2021-12-16 23:27:45 · 1372 阅读 · 1 评论 -
【JS】V8 引擎原理
文章目录认识JS引擎V8引擎原理在这里插入图片描述**流程图分析:**V8引擎架构认识JS引擎为什么需要 JS 引擎?1. `高级编程语言`都有转化成`最终的机械指令`来执行的2. 我们平时编写的js,无论你交给`浏览器或Node`执行,最后都是需要被CPU执行的3. 但CPU只认识自己的指令集,实际上是机械语言,才能被CPU所执行4. 所以我们需要JS引擎将JS代码翻译成CPU指令来执行常见的 JS 引擎有:5. SpiderMonkey:第一款JS引擎,由Brendar Ei原创 2021-12-15 22:14:16 · 2677 阅读 · 1 评论 -
【JS】垃圾回收机制
文章目录垃圾回收机制引用计数算法标记清除算法垃圾回收机制垃圾回收GC的全拼是 Garbage Collection其在维基百科的定义是: 在计算机科学中,垃圾回收(英语:Garbage Collection,缩写为GC)是一种自动的内存管理机制。当一个电脑上的动态内存不再需要时,就应该予以释放,以让出内存,这种内存资源管理,称为垃圾回收(garbage collection)有些语言(比如 C 语言)必须手动释放内存,程序员负责内存管理。// C 语言代码char * buffe原创 2021-12-07 22:45:08 · 940 阅读 · 0 评论 -
【JS】内存管理
文章目录内存生命周期内存分配使用值当内存不再需要使用时释放内存泄漏内存泄露概念内存泄露案例内存泄漏识别内存生命周期不管什么程序语言,内存生命周期基本是一致的:1. 分配你所需的内存2. 使用分配到的内存(比如进行读写操作)3. 不需要时将其归还、释放所有语言第二部分都是明确的。第一和第三部分在底层语言中是明确的,但在像JavaScript这些高级语言中,大部分都是隐含的。JavaScript是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。 释放的过程原创 2021-12-06 22:10:49 · 767 阅读 · 0 评论 -
【JS】单感叹号 和 双感叹号 的用法
文章目录用法示例用法双感叹号!!可以将一个值转换成对应的Boolean值,第一个感叹号!是将其转化成取反后的Boolean类型的值第二个感叹号!!是将取反后的Boolean类型的值再进行一次取反运算,才能得到自身对应真正的布尔值双感叹号!!相当于强制转换布尔类型Boolean()示例初始值:console.log('初始值:')console.log('值:', {}, '类型:',typeof {})console.log('值:', [], '类型:',typeof原创 2021-11-29 22:30:27 · 1322 阅读 · 0 评论