
JavaScript
文章平均质量分 76
JavaScript汇总
xiangxiongfly915
Android & Flutter & H5
https://github.com/xiangxiongfly
展开
-
Mock.js
Mock.js是一个功能强大的JavaScript库,用于模拟接口请求和生成随机数据Mock.js官网Mock.js中文官网name:属性名rule:规则value:属性值@占位符或:@占位符(参数[, 参数])占位符是引用 Mock.Random 中的方法。@boolean:生成一个随机的布尔值。@integer:生成一个随机的整数。@float:生成一个随机的浮点数。@date:生成一个随机的日期。@image:生成一个随机的图片URL@sentence:生成一个随机的句子。原创 2025-02-10 09:58:15 · 519 阅读 · 0 评论 -
JavaScript 事件循环机制
JavaScript 事件循环机制是 JavaScript 执行环境中的一种核心机制,它负责处理异步操作,确保代码能够按照预期的顺序执行。由于 JavaScript 是单线程的,即同一时间只能执行一个任务,事件循环机制使得 JavaScript 可以在处理异步任务时不会阻塞主线程,从而提高程序的性能和响应能力。原创 2025-02-07 16:42:35 · 932 阅读 · 0 评论 -
JavaScript async和await总结
async/await 是在ES8(也称为ES2017)中引入的。它是一种用于处理异步操作的语法糖,可让异步代码更容易编写和阅读。async/await 是以更舒适的方式使用 promise 的一种特殊语法,同时它也非常易于理解和使用原创 2023-07-06 16:32:16 · 316 阅读 · 0 评论 -
JavaScript 原型和原型链
原型显式原型原型对象隐式原型构造函数、实例对象与原型对象关系原型对象作用原型链原型链查找instanceof用法原理原理伪代码属性判断hasOwnProperty()in原创 2023-05-26 15:42:15 · 1200 阅读 · 0 评论 -
图片预加载和懒加载
图片预加载和懒加载原创 2023-05-04 17:14:56 · 642 阅读 · 0 评论 -
JavaScript var & let区别
变量作用域变量提升变量重复声明全局对象属性for循环中的作用域原创 2023-03-31 16:56:41 · 320 阅读 · 0 评论 -
JavaScript 逻辑或(||) 和 逻辑与(&&)
||(逻辑或):当两个操作数都为false时返回false,否则返回true。如果第一个操作数为true,则不会执行第二个操作数。&&(逻辑与):当两个操作数都为true时返回true,否则返回false。如果第一个操作数为false,则不会执行第二个操作数。原创 2023-03-22 16:09:15 · 285 阅读 · 0 评论 -
JavaScript 浅拷贝和深拷贝
在JavaScript中,浅拷贝和深拷贝是常用的两种对象复制方式。浅拷贝是新建一个对象,浅拷贝只能复制对象的一层属性,对于嵌套的引用类型属性,只会复制其引用地址而不是真正的值。浅拷贝可以使用Object.assign()方法或展开运算符(...)来实现。深拷贝是新建一个对象,将原始对象的所有属性值都复制到新对象中,包括引用类型的属性值。因此,即使修改了原始对象中的引用类型属性的值,新对象中的属性值也不会受到影响。深拷贝通常使用递归函数或JSON对象来实现。原创 2023-03-22 15:20:10 · 209 阅读 · 0 评论 -
JavaScript 隐式转换原理
JavaScript 中的隐式数据转换是指在表达式中使用不同类型的值时,JavaScript 引擎自动将其中一个或多个值转换为另一种类型。在JavaScript中,ToPrimitive方法是一个抽象操作,每个值隐含的自带的方法,用于将值(基本数据类型和引用类型)转换为其基本数据类型值。如果值为基本类型,则直接返回值本身。如果值为引用类型则会自动调用ToPrimitive方法。原创 2023-03-22 11:00:10 · 690 阅读 · 0 评论 -
JavaScript == & === & Object.is()
== 相等运算符=== 全等运算符Object.is() 值比较原创 2023-03-21 16:56:06 · 309 阅读 · 0 评论 -
JavaScript Number类型
在JavaScript中整数、小数、正数还是负数都属于Number类型。原创 2023-03-21 14:21:53 · 453 阅读 · 0 评论 -
JavaScript 检测数据类型方式
检测数据类型方式:typeofinstanceofconstructorObject.prototype.toString原创 2023-03-21 11:31:44 · 285 阅读 · 0 评论 -
JS 防抖和节流
防抖(debounce)和节流(throttle)都是用来控制函数执行频率的技术。原创 2023-03-10 10:36:59 · 128 阅读 · 0 评论 -
CSS 搜索框
CSS 搜索框原创 2023-01-20 15:22:37 · 3721 阅读 · 1 评论 -
JavaScript 判断元素是否包含指定class
JavaScript 判断元素是否包含指定class原创 2023-01-20 11:12:04 · 4803 阅读 · 0 评论 -
JavaScript JSON序列化和反序列化
JSON序列化指将JSON对象转换为JSON字符串。J实现方式有两种:一种是调用JSON对象内置的`stringify()`函数,一种是为对象自定义`toJSON()`函数。JSON反序列化指将JSON字符串转换为JSON对象。实现方式有两种:一种是使用JSON对象内置的`parse()`函数,一种是使用`eval()`函数。原创 2023-01-18 17:58:58 · 8067 阅读 · 0 评论 -
ES6 Iterrator和Generator
Iterator称为遍历器,是ES6为不同数据结构遍历所新增的统一访问接口。Generator()函数是ES6提供的一种异步编程解决方案。原创 2023-01-18 14:10:48 · 1571 阅读 · 0 评论 -
ES6 Proxy和Reflect
Proxy简介简单使用Proxy函数说明场景一:私有化场景二:增加日志记录场景三:特定操作Reflect简介Reflect函数说明Reflect.has()Reflect.defineProperty()Reflect.deleteProperty()Proxy配合Reflect原创 2023-01-17 15:08:04 · 748 阅读 · 0 评论 -
JavaScript 浏览器的重排和重绘
虽然可以通过JavaScript操作DOM元素,但是代价却是高昂的。我们可以将DOM和JavaScript想象成两个岛,它们之间的连接需要通过一座桥,而JavaScript对DOM的访问就需要通过这座桥,并收取“过桥费”,随着对DOM访问次数的增加,费用也就越高,因此我们需要尽量减少“过桥”的次数,也就是减少对DOM的访问和修改,而这也是优化DOM性能的手段之一。对DOM的修改相比于对DOM的访问,在性能上的影响会更大,这是因为它会带来浏览器的重排或重绘。原创 2023-01-16 11:39:57 · 2274 阅读 · 0 评论 -
JavaScript 预解析
JavaScript代码的执行是由浏览器中的JS引擎解析执行的。预解析过程。代码执行过程。由于预解析的存在,因此产生了变量提升和函数提升,也产生了执行上下文和执行上下文栈。原创 2023-01-16 10:51:52 · 509 阅读 · 0 评论 -
JavaScript 事件案例
统计输入字符数量验证输入内容搜索框复选框的全选和反选下拉列表自定义鼠标右键菜单ctrl+enter发送消息规定范围内拖拽元素两元素碰撞切换图片内容滚动条鼠标滚动缩放图片原创 2023-01-13 13:55:02 · 551 阅读 · 0 评论 -
JavaScript Event对象
事件在浏览器中是以Event对象的形式存在的,每触发一个事件,就会产生一个Event对象。该对象包含所有与事件相关的信息,包括事件的元素、事件的类型及其他与特定事件相关的信息。原创 2023-01-13 13:50:28 · 458 阅读 · 1 评论 -
JavaScript 事件流
JavaScript事件流指一个事件在HTML文档中传播和被处理的全过程。捕获阶段(Capturing Phase):从最外层的祖先元素开始,逐级往下,直到事件触发元素(目标元素)所在的元素。目标阶段(Target Phase):事件到达目标元素。冒泡阶段(Bubbling Phase):从目标元素开始往上冒泡,逐级往上,直到最外层的祖先元素。js中只可以执行捕获或冒泡阶段。事件冒泡指当一个元素触发事件时,事件会从触发事件的元素开始,沿着DOM树向上传播,直到根元素。原创 2023-01-10 15:37:26 · 712 阅读 · 0 评论 -
JavaScript 尺寸和坐标
JavaScript client screen offset scroll原创 2023-01-09 10:57:31 · 839 阅读 · 1 评论 -
JavaScript Math对象
常用属性和方法案例获取指定范围内的随机数获取指定范围内的整数生成随机数验证码生成随机颜色值原创 2022-12-16 09:25:00 · 335 阅读 · 0 评论 -
JavaScript Date类型
JavaScript内置的Date类型是代表日期时间的引用类型。Date对象用来处理日期和时间,保存的是当前时间到计算机元年(1970年1月1日8:00)的毫秒数。当我们实例化Date对象的时候,会得到当前的时间戳,并自动转为具体时间展示出来。原创 2022-12-15 17:22:05 · 368 阅读 · 0 评论 -
JavaScript String类型
在JavaScript中,对象可以分2种:自定义对象、内置对象。字符串对象就是内置对象之一。原创 2022-12-15 16:27:02 · 292 阅读 · 0 评论 -
JavaScript Ajax
Ajax(Asynchronous JavaScript and XML)是一种用于在不刷新整个页面的情况下向服务器发送请求并接收响应的技术。它利用了浏览器提供的 XMLHttpRequest 对象,使得 JavaScript 能够在后台与服务器进行通信。原创 2021-06-27 16:38:55 · 173 阅读 · 0 评论 -
JavaScript Cookie & localStorage
文章目录Cookie概述操作Cookie查询设置encodeURIComponent & decodeURIComponentexpires & max-agedomainpathHttpOnlysecure封装CookieLocalStorage概述使用设置查询删除Cookie概述Cookie全称HTTP Cookie,是浏览器存储数据的一种方式一般会自动随着浏览器每次请求发送到服务器可以利用Cookie跟踪统计用户访问该网站的习惯,如:访问时间、访问页面、停留时间不要在Co原创 2021-06-20 22:34:24 · 361 阅读 · 2 评论 -
ES6 Module模块化
ES6提供了模块化的设计,可以将具有某一类特定功能的代码放在一个文件里,在使用时,只需要引入特定的文件,便可以降低文件之间的耦合性。export let name = "小明";export let address = ["北京市", "海淀区"];原创 2021-06-17 17:29:27 · 1036 阅读 · 1 评论 -
ES6 对象和类
对象是JavaScript中重要的数据结构,而ES6对它进行了重大的升级,包括数据结构本身和对象新增的函数,为开发带来了极大的便利。在JS中,生成实例对象是通过构造函数ES6则提供了Class概念,通过class定义类一个类必须有方法,new对象时会自动调用传统的JavaScript中只有对象,没有类概念,跟面向对象语言差异很大。为了让JavaScript具有更接近面向对象语言的写法,ES6引入了Class(类)的概念,通过class关键字定义类。原创 2021-06-16 17:15:57 · 136 阅读 · 0 评论 -
ES6 Promise
Promise 语法是ES6引入的新异步编程的解决方案。可以用来解决回调地狱问题。Promise 是一个类,可以翻译成承诺、许诺期约,resolve:解决,reject:拒绝。当需要给调用者一个承诺,待会给你回调数据时,就可以创建一个 Promise。原创 2021-06-15 15:24:32 · 403 阅读 · 0 评论 -
ES6 Set和Map
ES6中新增了一种数据结构Set,表示的是一组数据的集合,Set集合具有无序、没有重复值的特性。ES6增加了另一种数据结构Map。本质是一种键值对的组合。与对象字面量不同的是,对象字面量的键只能是字符串,对于非字符串类型的值会采用强制类型转换成字符串,而Map的键却可以由各种类型的值组成。原创 2021-06-14 00:30:11 · 189 阅读 · 2 评论 -
ES6 特性
ES与JS关系:JavaScript(浏览器端)= ECMAScript(语法 API)+ DOM +BOMES6兼容性:主流浏览器的最新版本基本都支持ES6规范IE等老版本浏览,可以通过Babel转码兼容原创 2021-06-13 20:44:10 · 283 阅读 · 0 评论 -
JavaScript RegExp正则类型
正则表达式(regular expression)用于描述字符串的构成模式,经常用于检查字符串是否符合预定的格式要求ECMAScript通过RegExp类型支持正则表达式。原创 2021-06-13 13:30:22 · 243 阅读 · 0 评论 -
JavaScript 内置对象
文章目录内置对象概述MathDate倒计时功能MapSet内置对象概述JavaScript提供了一些预先定义好的对象可以直接使用,我们称这种对象为内置对象。Math//幂Math.pow(4, 2) //16//开方Math.sqrt(16) //4//获取最小值Math.min(1, 3, 4, 5) //1//获取最大值Math.max(1, 3, 4, 5) //5//向上取整Math.ceil(1.5) //2//向下取整Math.floor(1.5)原创 2021-06-11 17:53:33 · 135 阅读 · 0 评论 -
JavaScript 对象
对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。JavaScript是一门面向对象的语言,但JavaScript没有类的概念,一切都是对象。任意一个对象都是某种引用类型的实例,都是通过已有的引用类型创建。引用类型可以是原生的,也可以是自定义的。原创 2021-06-11 16:58:12 · 366 阅读 · 0 评论 -
JavaScript BOM
BOM(Browser Object Model,浏览器对象模型)在ECMAScript的基础上扩展了一系列对象,使开发者更方便地操作浏览器相关功能。BOM主要用在客户端浏览器的管理。尽管BOM一直没有被标准化,但各个主流浏览器都支持它,浏览器提供商会按照各自的想法去扩展它。简单地说,BOM使JavaScript有能力与浏览器进行“对话”。BOM的核心对象是window对象,也被称作浏览器窗口对象,表示浏览器的一个实例,可以通过window直接访问浏览器窗口。window对象是客户端JavaScript的全原创 2021-06-10 13:40:11 · 190 阅读 · 0 评论 -
JavaScript 动画效果
文章目录JS动画实现概述平滑动画无缝连续滚动特效轮播图轮播图淡入淡出效果JS动画实现概述在CSS3中可以通过transition过渡属性可以实现动画JS可以利用CSS3中的transition属性实现元素动画平滑动画利用CSS transition属性实现平滑动画效果<button>开始动画</button><div id="box"></div><script> var btn = document.queryS原创 2021-06-10 01:22:12 · 8294 阅读 · 0 评论 -
JavaScript 定时器和延时器
文章目录定时器和延时器setInterval()setTimeout()定时器和延时器setInterval()和setTimeout()是两个异步语句,不会阻塞CPU继续执行其他语句,当异步完成时,会执行回调函数setInterval()setInterval()函数可以重复调用一个函数,在每次调用之间具有固定的时间间隔var timer = null;var i = 0;startBtn.onclick = function() { clearInterval(timer);原创 2021-06-08 15:47:52 · 250 阅读 · 0 评论