javascript文章/教程

JavaScript是一种运行是浏览器里面的脚本语言,不过随着发展目前JavaScript也是一个全栈的开发语言了,比如可以运行在后端的nodejs,能做跨平台桌面应用程序开发的election等,目前JavaScript正在变成一门全面的语言。JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

JavaScript避免嵌套代码浅析

目录 前言 一、何为嵌套代码 二、避免嵌套 1.提炼抽取 2.反转排列 前言 看过不少过度嵌套的代码, 我真正意识到问题的严重性是刚入职那会, 我在一个老项目里看到了40个连续的else if, 套了6层的if, for和forEach, 因为我们并没有做什么限制代码嵌套的提前约定. »

JavaScript深拷贝方法structuredClone使用

目录 正文 浅拷贝与深拷贝 使用 structuredClone 进行深拷贝 正文 对于深拷贝,最容易也应该是常见的方法是使用 JSON.parse() + JSON.stringify() ,还有一个借助第三方脚本库 lodash ,其中方法 cloneDeep 可以实现深拷贝。 »

深入理解JavaScript字节二进制知识以及相关API

目录 字节 字节序 Blob File 对Blob和File的读取 ArrayBuffer TypeArray DataView Blob和ArrayBuffer 当前,前端对二进制数据有许多的API可以使用,这丰富了前端对文件数据的处理能力,有了这些能力,就能够对图片等文件的数据进行 »

javascript如何获取时间戳

这篇文章主要讲解了“javascript如何获取时间戳”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript如何获取时间戳”吧! js/javascript获取时间戳的5种方法 1.获取时间戳精确到秒,13位 const timestam »

一文带你理解JavaScript中的函数式编程

目录 分析 理解纯函数 相同的输入参数,总会有相同的输出 在执行过程中不会产生语义上可观察的 副作用 纯函数 的作用 不确定性的危害 确定性的好处 如何对待副作用 总结 我理解的 函数式编程 是一种 编程规范,也是一种对语言程序(比如JavaScript)本身能力的 运用方式。 »

一文带你理解JavaScript中的函数式编程

目录 分析 理解纯函数 相同的输入参数,总会有相同的输出 在执行过程中不会产生语义上可观察的 副作用 纯函数 的作用 不确定性的危害 确定性的好处 如何对待副作用 总结 我理解的 函数式编程 是一种 编程规范,也是一种对语言程序(比如JavaScript)本身能力的 运用方式。 »

JavaScript中?. 和??分别是什么详解

目录 ?. 操作符 ?? 操作符 总结 ?. 和 ?? 是 JavaScript 中的两个新操作符,分别是可选链操作符(optional chaining operator)和空值合并操作符(nullish coalescing operator)。 ?. 操作符 ?. 可选链操作符用于 »

JavaScript中?. 和??分别是什么详解

目录 ?. 操作符 ?? 操作符 总结 ?. 和 ?? 是 JavaScript 中的两个新操作符,分别是可选链操作符(optional chaining operator)和空值合并操作符(nullish coalescing operator)。 ?. 操作符 ?. 可选链操作符用于 »

JavaScript手写一个前端存储工具库

目录 使用 storage-tools 缓存数据 storage-tools 项目演进 StorageHelper 支持 localStorage 存储 StorageHelper 添加超时机制 StorageHelper 添加其他存储适配 StorageHelper 添加异步获取 列表辅助类 »

JavaScript 中的 this 绑定规则详解

目录 前言 1. 关于 this 的简单介绍 2. 为什么使用 this? 3. 关于this 的常见的误解 4. this 的绑定规则 4.1 默认绑定 4.2 隐式绑定 4.3 显式绑定 4.4 new 绑定 5. 绑定规则的优先级 5.1 默认绑定的优先级最低 5.2 隐式绑定和显式 »

简单聊聊JavaScript中的事件循环

目录 为什么js是单线程的 浏览器 浏览器都包含哪些进程呢 渲染进程 事件循环 宏任务 微任务 宏任务 微任务 宏任务微任务的执行流程 面试题 为什么js是单线程的 我们首先要考虑下js作为浏览器脚本语言,主要用途就是和用户互动和操作DOM。比如js同时有两个线程,两个线程同时操 »

JavaScript面试必备技巧之手写一个Promise

目录 基本实现 实现resolve和reject 状态不可变 then 其他方法 很多同学在面试的时候都会被要求手写一个Promise,那么今天我总结了一些手写Promise的方法,可以跟着我的思路一起来实现一个Promise,让我们的面试更有把握。同时我们也会实现一下Promsie常见的 »

JavaScript中this的绑定你知道几种?

目录 执行上下文 this到底是什么呢 调用位置 绑定规则 特例 面试题 执行上下文 我们知道执行上下文分为两种:全局上下文和函数上下文(我的这篇文章对于执行上下文有讲解还对执行上下文和作用域迷糊吗?)。全局上下文只有一个,函数执行上下文是在函数调用的时候创建的。 每个执行上下文 »

JavaScript中this的绑定你知道几种?

目录 执行上下文 this到底是什么呢 调用位置 绑定规则 特例 面试题 执行上下文 我们知道执行上下文分为两种:全局上下文和函数上下文(我的这篇文章对于执行上下文有讲解还对执行上下文和作用域迷糊吗?)。全局上下文只有一个,函数执行上下文是在函数调用的时候创建的。 每个执行上下文 »

JavaScript中forEach和map方法的使用与区别

目录 前言 forEach方法 map方法 map和forEach方法的区别 补充:二者的应用场景 总结 前言 上节我们说到遍历数组的方法,使用for循环进行遍历,其实在js中还有另外两种方法可以将我们的数组更快的遍历出来,那就是forEach方法和map方法。下面我们一起看看如何使用吧。 »

JavaScript中forEach和map方法的使用与区别

目录 前言 forEach方法 map方法 map和forEach方法的区别 补充:二者的应用场景 总结 前言 上节我们说到遍历数组的方法,使用for循环进行遍历,其实在js中还有另外两种方法可以将我们的数组更快的遍历出来,那就是forEach方法和map方法。下面我们一起看看如何使用吧。 »

JavaScript CSS优雅实现网页多主题风格换肤功能详解

目录 引言 简单列举下一些其它实现方式 CSS variable的实现方式 var() 函数 方案落地 一、和UI设计师沟通好各主题的色阶 二、将各主题色阶抽离为一个字典对象 三、通过js设置style变量 举一反三 1、结合媒体查询 2、结合js业务逻辑 3、存储一些信息 引言 »

JavaScript CSS优雅实现网页多主题风格换肤功能详解

目录 引言 简单列举下一些其它实现方式 CSS variable的实现方式 var() 函数 方案落地 一、和UI设计师沟通好各主题的色阶 二、将各主题色阶抽离为一个字典对象 三、通过js设置style变量 举一反三 1、结合媒体查询 2、结合js业务逻辑 3、存储一些信息 引言 »