- 博客(49)
- 收藏
- 关注
原创 ES6新特性2- Promise的介绍和使用,map和set集合,ES6-新增对象方法, async和await
Promise是ES6(ECMAScript 2015)引入的一个重要特性,它是异步编程的一种解决方案。在Promise出现之前,JavaScript的异步操作大多依赖于回调函数,但随着异步操作的复杂度增加,回调函数会出现“回调地狱”的问题,即过度使用嵌套回调函数导致代码的可读性和维护性变差。Promise的出现解决了这一问题,它提供了一种更优雅、更清晰的异步编程方式。
2024-10-16 07:00:00
889
原创 ES6总结
使用反引号(`)包裹,而不是传统的单引号(')或双引号(")。支持在字符串中嵌入表达式,通过${expression}的占位符语法实现。只能使用单引号或双引号包裹。不支持在字符串中直接嵌入表达式,通常需要通过字符串拼接(使用+操作符)来实现。你也可以为自定义对象实现迭代器。为此,你需要在对象上定义 @@iterator 方法,或者在其原型链上定义。age;
2024-10-06 08:00:00
1208
原创 前端面试总结2
不同的隐藏元素方法在重排和重绘方面有不同的影响。是最彻底的隐藏方式,因为它会从渲染树中移除元素,从而避免重排和重绘。而visibility: hidden;和opacity: 0;则保留了元素在DOM中的位置,但改变了其可见性,可能会导致重绘。配合大偏移量和transform: scale(0);则可能同时影响重排和重绘,具体取决于元素的原始布局和定位情况。width: 0;height: 0;则主要用于隐藏内部内容,对重排和重绘的影响相对较小。在选择隐藏元素的方法时,应根据具体需求和性能考虑来做出选择。
2024-09-25 12:14:53
1284
原创 Jquery基础篇1-下载和使用-和DOM的区别-选择器-常用工具($.each、¥.trim等)
jQuery 是一个快速、小巧、功能丰富的 JavaScript 库。它使得 HTML 文档遍历和操作、事件处理、动画和 Ajax 交互对于 Web 开发来说更加简单。jQuery 的设计思想是“写的更少,做的更多”(write less, do more),它极大地简化了 JavaScript 编程的复杂性,特别是与 DOM(文档对象模型)的交互和 Ajax 编程。
2024-09-05 01:05:42
1627
原创 JS基础-ClassList -移动端插件的引入-touch事件-sessionStorage 和 localStorage
1.下载2.引入sessionStorage 和 localStorage 是Web存储API的一部分,它们允许你在用户的浏览器中存储数据,而无需使用cookies。
2024-09-04 00:33:33
1417
1
原创 四种for的区别,水平垂直居中的实现,循环自动轮播的实现
for...of循环允许你遍历具有迭代器接口的数据结构(如数组、Map、Set、arguments对象等)。与forEach相比,for...of提供了更多的灵活性,比如支持break、continue和return语句。forEach是数组的一个方法,它遍历数组的每个元素,并对每个元素执行一次提供的函数。for...in循环遍历一个对象的所有可枚举属性(包括其原型链上的属性)。它主要用于遍历对象,而不是数组 key属性名、obj遍历对象名。HTML代码body。
2024-09-01 00:43:37
404
原创 JS中this的指向问题、JS的执行机制、offset、client、scroll
事件循环允许 JavaScript 执行代码块,将耗时任务(如 I/O 操作)推送到“任务队列”(Task Queue)中,然后继续执行其他代码。一旦调用栈为空(即当前没有正在执行的代码),事件循环就会从任务队列中取出任务,并将其推送到调用栈中执行。当函数执行完成后,它的信息就会被从调用栈中弹出,控制权就回到了前一个函数(即调用者)。在执行过程中,每次从宏任务队列中取出一个任务执行完毕后,会检查并连续执行完所有的微任务队列中的任务,然后再从宏任务队列中取出下一个任务执行。当函数作为对象的方法被调用时,
2024-08-27 23:47:59
1141
原创 正则表达式
正则表达式还支持多种匹配模式,如单行模式(Singleline)、多行模式(Multiline)和忽略大小写(IgnoreCase)等。匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]多行模式:使^和$分别匹配每一行的行首和行尾,而不是整个字符串的开始和结束。匹配指定范围内的任意字符。匹配包括下划线的任何单词字符,等价于 [A-Za-z0-9_]单行模式:使.匹配包括换行符在内的任意字符。忽略大小写:在匹配过程中不区分大小写字符。匹配一个数字字符,等价于 [0-9]
2024-08-27 00:29:50
852
原创 BOM介绍
BOM(Browser Object Model,浏览器对象模型)是JavaScript中用于与浏览器进行交互的一系列对象和方法的集合。与DOM(Document Object Model,文档对象模型)不同,DOM专注于网页的内容,而BOM则关注浏览器窗口以及与浏览器交互的接口。BOM比DOM更大,它包含DOMBOM的构成它是JS访问浏览器窗口的一个接口它是一个全局对象。定义在全局作用域中的变量、函数都会变成window对象的属性和方法。
2024-08-25 01:59:22
819
原创 JS基础进阶3-DOM事件
DOM事件流指的是从页面接收事件的顺序。这个路径包括了事件的捕获阶段、目标阶段和冒泡阶段。图片来源黑马pink老师PPTet就是一个对象,包含了事件的所有信息,包括事件类型、事件源、事件目标等。当形参来看事件对象有了事件才会存在,否则不存在事件对象可以自己命名event \e\eveIE678通过window.event获取事件对象兼容性写法:e=e||window.e;});
2024-08-24 04:21:35
635
原创 DOM的重要核心
eventTarget . addEventListener ()方法将指定的监听器注册到eventTarget (目标对象)上,当该对象触发指定的事件时,就会执行事件处理函数。3.利用子节点操作获取元素:父(parentNode)、子( childern)、 兄 (previousElementSibling 、nextElementSibling)主要修改dom的元素属性, dom元素的内容、属性,表単的值等。1. 修改元素属性: src、 href、 title等。主要获取查询dom的元素。
2024-08-24 01:11:41
720
原创 JS基础进阶2-操作元素
div id="userInfo" data-user-id="12345" data-role="admin">用户信息使用JavaScript的setAttribute()方法来修改自定义属性使用JavaScript的removeAttribute()方法来移除自定义属性// 获取元素// 修改自定义属性// 或者,如果你只是想更新已存在的自定义属性的值,上面的方法是可行的。// 但如果你想要添加一个新的自定义属性,只需按照上面的方式做即可。
2024-08-23 00:43:05
758
原创 CSS伪类选择器和伪元素
它们创建了一个虚拟的元素,并插入到文档树中,可以像处理普通元素一样处理它们。伪元素通常用于在元素的内容前后添加内容,或者用于设置元素的某个部分的样式(如第一个字母或第一行)。它们被添加到选择器中以指定元素在其生命周期的特定状态下的样式。伪类不创建新的文档内容,也不创建新的文档树中的元素。:first-child、:last-child、:nth-child():用于选择元素的特定兄弟元素。伪类用于定义元素的特殊状态,而伪元素用于样式化元素的特定部分或添加新的内容。:hover:鼠标悬停在元素上时的样式。
2024-08-21 16:08:54
390
原创 linux基本指令
vi/vim有三种基本模式:普通模式(Normal Mode)、插入模式(Insert Mode)和命令行模式(Command-line Mode)。-t 或 --date=时间:使用指定的时间(而不是当前时间)来设置文件的访问和修改时间。-d 或 --date=字符串:使用指定的字符串来设置文件的访问和修改时间。进入vi/vim:在终端中输入vi或vim后跟文件名,如果文件不存在,将创建该文件。-r 或 --reference=文件:使用指定文件的访问和修改时间来更新目标文件的访问和修改时间。
2024-08-20 22:28:16
841
1
原创 前端面试题
具体来说,在通信开始时,双方会使用非对称加密算法(如RSA)来交换一个对称加密的密钥(如AES密钥),然后在后续的通信中,就使用这个对称密钥来进行数据的加密和解密。简介:HTTPS是HTTP的安全版本,通过在HTTP协议的基础上加入SSL(Secure Sockets Layer,安全套接层)或TLS(Transport Layer Security,传输层安全)协议来实现数据的加密传输和身份验证。:通过 Cookie,网站可以跟踪用户的浏览行为,包括用户访问的页面、停留的时间、点击的链接等。
2024-08-18 03:26:02
1170
原创 axios的使用
这包括请求的 URL、方法(如 GET、POST)、请求头(headers)、请求体(data/params)等。它的格式取决于服务器返回的内容类型(Content-Type),通常是 JSON、XML、文本等。--watch参数表示json-server将监视db.json文件的更改,并在文件更改时自动重新加载数据。: 这是一个字符串,表示服务器响应的 HTTP 状态信息,如 "OK"、"Not Found" 等。在该文件夹下,创建一个名为db.json的文件,并在其中添加json数据。
2024-08-17 14:27:18
4157
原创 JS基础进阶Webs-API、HTML 、DOM
JavaScript API是指为JavaScript提供的一组编程接口和对象,用以允许开发者访问和操作Web浏览器或其他JavaScript环境(如Node.js)提供的特定功能。这些API使得开发者能够编写更加动态和交互式的Web应用程序。Web API是一组由服务端提供的接口,允许客户端(如浏览器或移动应用)通过HTTP协议发送请求从而与服务器进行交互。这些接口通常遵循RESTful或SOAP等标准,使得开发者能够利用远端的资源和服务。
2024-08-15 01:39:18
793
原创 前端面试题
向父组件发送数据methods: {// 假设我们要发送的数据是'childData'</script><template><div></div><script>},methods: {console.log('来自子组件的数据:', data);// 可以在这里处理来自子组件的数据
2024-08-14 14:45:08
507
原创 JS基础(JS对象)
ES6 引入了class关键字(注意,这里的类不是传统面向对象编程中的类,而是JavaScript基于原型的类的语法糖),使得对象创建更加清晰和易于理解。JavaScript 是一种基于原型的语言,它不使用传统的“类”模型,而是使用原型(prototypes)来实现对象的继承与复用。Object.create() 方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__(即原型)。方法是一种特殊的函数,它必须被对象所拥有,调用的时候必须对象.方法。调用方法:通过对象实例来调用其方法。
2024-08-13 21:45:10
465
原创 JS基础5(JS的作用域和JS预解析)
预解析(Hoisting)是JavaScript引擎的一种行为,即在代码执行之前,会将所有用var声明的变量和用function声明的函数提升到其所在作用域的最顶部,但并不会提升变量的赋值或函数的调用。对于var声明的变量,其值会被初始化为undefined;对于function声明的函数,其整个函数体会被提升到顶部,但不会被执行。
2024-08-13 14:57:08
481
原创 JS基础4(函数)
bind()方法创建一个新的函数,在bind()被调用时,这个新函数的this被指定为bind()的第一个参数,而其余参数将作为新函数的参数,供调用时使用。这种方式声明的函数可以是匿名的,也可以是有名称的(但名称只在函数体内部有效,称为命名函数表达式)。2.只要函数遇到return就把后面的结果 返回给函数的调用者 函数者()=return后面的结果。使用function关键字后跟函数名和圆括号内的参数列表,以及大括号内的函数体来声明函数。2.如果实参的个数多于形参的个数会取到形参的个数。
2024-08-13 01:17:29
260
原创 JS基础3--数组和错误处理
slice() 方法返回一个新的数组对象,这一对象是一个由 begin 到 end(不包括 end)选择的数组的部分浅拷贝。reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。find() 方法返回数组中满足提供的测试函数的第一个元素的值。map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。Array.from()方法从一个类似数组或可迭代的对象中创建一个新的、浅拷贝的数组实例。catch 语句处理错误。
2024-08-11 21:14:36
522
原创 JS基础2
如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 object。基本的流程控制结构,包括if...else语句、switch语句、循环(for、while、do...while)以及try...catch语句来处理错误。continue:用于跳过当前循环迭代中continue之后的语句,直接进入下一次迭代。当使用完一个比较大的对象时,需要对其进行释放内存时,设置为 null。
2024-08-11 02:31:09
632
原创 IDEA终端无法打开,解决方法
确保你的系统终端路径被正确设置在你的开发环境或IDE的配置中。在Linux或macOS上,你可以在终端中使用echo $PATH来查看当前的PATH变量。在Linux或macOS上,你可能需要检查文件权限或使用sudo(如果你知道如何安全地使用它)。检查你的IDE或编辑器的设置,确保关于终端的配置是正确的。这通常可以在IDE的“设置”(或“首选项”)菜单下的“工具”或“终端”部分找到。如果IDE或编辑器有错误日志功能,查看相关的错误日志可能会给出更多关于为什么无法打开终端的线索。
2024-08-10 14:17:12
1403
原创 vue2安装element-ui报错解决
core-js 版本已废弃:你安装的 core-js 版本是 2.6.12,但这个版本已经不再维护,并且不推荐使用。你应该升级 core-js 到一个更新的版本。在你的项目中,可以通过运行以下命令来更新 core-js。
2024-08-09 07:00:00
419
原创 nvm常用指令(切换node版本)
安装长期支持版本:nvm install --lts 或 nvm install --lts=,其中是长期支持版本的名称,如fermium。自动切换到长期支持版本:nvm use --lts 或 nvm use --lts=。其中是你想要安装的Node.js版本号,例如nvm install 14.17.0。如nvm alias default 14.17.0将14.17.0版本设置为默认版本。
2024-08-09 01:51:59
897
原创 gitee 使用安装教程
如果你不指定路径,密钥将默认保存在~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)中。系统会提示你输入一个密码(passphrase)来保护你的私钥。这个密码不是必须的,但如果你设置了一个密码,那么在每次使用私钥时都需要输入它。-C "your_email@example.com": 这是一个注释字段,用于识别这个密钥,通常建议填写你的邮箱。9.然后按win+r键出现命令行,输入git出现如下界面,说明安装成功。8.安装完成之后,在文件夹右击点击更多选项,出现这个。
2024-08-08 10:29:48
2861
原创 JS基础1
注:Infinity表示无穷大-Infinity表示负无穷大,Number.MAX_VALUE表示数字了类型的最大值,-Number.MAX_VALUE表示数字了类型的最小值。使用 const 定义的对象或者数组,其实是可变的。在第二个实例中,使用 let 关键字, 它声明的变量作用域只在循环体内,循环体外的变量不受影响。let 声明的变量只在 let 命令所在的代码块 {} 内有效,在 {} 之外不能访问。在第一个实例中,使用了 var 关键字,它声明的变量是全局的,包括循环体内与循环体外。
2024-08-07 23:36:23
575
原创 VScode引入element-ui组件的步骤
如果在vue项目中引入element-ui失败,很可能是node.js版本匹配的问题,建议下载一个nvm管理node.js版本nvm安装步骤:我是参考这篇文章的非常详细。
2024-08-04 22:39:37
870
原创 前端学习网站分享
3.各种语言还有各种常用的前端框架学习(总结的非常全面)7.在线图标的制作(上传图片生成图标)4.Element-ui的学习和演练。5.JS、HTML、css学习。10.Angular - 官网。2.vue2和vue3的学习。1.HTML教程大全。6.常用的两个图标库。
2024-07-31 07:00:00
197
原创 HTML5+CSS:Flex属性的应用
Flex是Flexible Box的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以通过设置或来指定为Flex布局,其中会使容器成为一个块级元素,而则使容器成为一个行内元素。
2024-07-31 02:02:05
1270
1
旅游网站:旅游景点介绍,包括旅游景点、网站首页、特产美食、旅游攻略等
2024-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人