JavaScript
文章平均质量分 78
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式
芒果Cake
花有重开日,人无再少年。
展开
-
【JavaScript】promise
本质上 Promise 是一个函数返回的对象,我们可以在它上面绑定回调函数,这样我们就不需要在一开始把回调函数作为参数传入这个函数了。前面的.then都有一个返回值是一个promise对象,就算不写return jiehun()也会自动返回一个promise对象,所有可以继续.then执行,这样的调用叫做链式调用。💡提示:看到这里时是否恍然大悟,resolve和reject都是一个函数名,把函数当作一个参数传到另外一个函数中,当需要用这个函数是,再调用这个函数,这就是回调函数。💡原型:什么是原型?原创 2023-03-07 19:01:15 · 610 阅读 · 1 评论 -
【JavaScript】正则表达式知识点详解
💻Run:执行结果可以看出没有匹配到的返回null,匹配到的返回一个数组。在不使用全局搜索g时只能捕获(拿到)第一组匹配规则的字符串片段,当使用全局搜索g时,第二次捕获开始会从第一次捕获的结束为止开始检索,依次捕获,直到找不到内容,返回null。💻Run:执行结果可以看出没有匹配到的返回null,匹配到的返回一个数组。💡 Tips:作用: 表示重复第n个小括号的内容,要求和第n个小括号的内容一模一样。💡 Tips:当开头^和结尾$一起使用的时候,表示从开头匹配到结尾。是拥有特殊含义的字符。原创 2023-02-11 17:20:44 · 1010 阅读 · 0 评论 -
【JavaScript】Set和Map数据结构
💡 Map数据结构是一个类似于对象的数据结构,它的key可以是任何数据类型, 可以被看做为一个 值 = 值 的数据结构。💡 Set数据结构是ES6新增的数据结构,是一个类似于数组的数据结构,按照索引排列。var s = new Set([数据1, 数据2, 数据3…利用Set不接受重复数据的特点封装函数给数组去重。原创 2023-02-04 19:47:38 · 1688 阅读 · 0 评论 -
【JavaScript】扩展运算符
允许一个表达式在期望多个参数(用于函数调用)或多个元素(用于数组字面量)或多个变量(用于解构赋值)的位置扩展。接受两个参数,第一个参数表示[0]实参,第二个参数表示从[1] ~ [最后]新增的特殊符号, 拓展运算符。原创 2023-02-04 19:10:34 · 1061 阅读 · 0 评论 -
【JavaScript】解构赋值
语法是一种 Javascript 表达式。可以将数组中的值或对象的属性取出,赋值给其他变量。💡对象怎么书写,解构就怎么书写,数据换成变变量。原创 2023-02-04 19:06:12 · 421 阅读 · 0 评论 -
【JavaScript】箭头函数
箭头函数的this不取决于调用取决于定义, 定义在哪个作用域就是指向谁, 这里的箭头函数定义在了事件处理函数中, 所以this指向事件源。注意: 这里的定时器已经不再是原来的定时器, 原来的定时器里面的参数写的是普通函数, 将普通函数改成箭头函数之后就按照箭头函数的情况考虑。这里的this在定时器内, 定时器里的函数是自动执行, 指向window, 我们需要将this指向li, 所以接下来修改代码。箭头函数外面的函数this是啥,箭头函数this就是啥。会自动把这句话的结果当做函数的返回值。原创 2023-02-04 15:53:07 · 863 阅读 · 1 评论 -
【JavaScript】let、const、var的区别(面试题)
let 定义的变量可以修改值const 定义的常量不可以修改值原创 2023-02-04 15:49:05 · 768 阅读 · 0 评论 -
【JavaScript】this指向
是一个js内的关键字是一个使用在作用域内的关键字1. 要么使用在全局 (this => window)2. 要么使用在函数内。原创 2023-02-02 17:19:07 · 161 阅读 · 0 评论 -
【JavaScript】防抖和节流、数据驱动视图、数据劫持
/ return 'xxx' // 当我们设置一个返回值的时候,就表示该属性被设置了值 // }, // set(val) { // // 可以监听到设置的值 // console.log('set', val);// } // }) // obj.age = 19 // 设置的时候,会触发 set方法 // console.log(obj.age);// 获取的时候, 会触发 get方法 // console.log(obj);原创 2023-02-02 00:46:01 · 378 阅读 · 0 评论 -
【JavaScript】闭包、函数柯理化与封装
利用了闭包, 把每一次传递的参数保存下来(延长变量的生命周期)把一次传递两个参数,变成两次,每次传递一个参数。原创 2023-02-02 00:44:25 · 529 阅读 · 0 评论 -
【JavaScript】深拷贝、浅拷贝
语法 Object.assign(新对象, 原始对象)返回值 把原始对象内的数据浅拷贝放到新对象中。把一个数据结构的地址复制一份给另一个变量。原创 2023-01-31 22:14:23 · 357 阅读 · 0 评论 -
【JavaScript】原型继承、借用继承、组合继承、类继承、拷贝继承
希望Son调用的时候,既使用Father里面的内容,同时希望Father里面的内容改成自己的,也就是说,希望使用的时候,this指向自己的this。- 在继承中,父类的部分方法和属性不希望子类继承。特点: ES6的类可以继承ES5的构造函数。继承下来的属性不在子类身上,在原型身上。只能继承父类的属性,不能继承原型的方法。- 把原型继承和借用继承组合在一起。借用构造函数继承/call继承。true 表示该属性在该对象上。2. 继承的属性在自己身上。可以继承父类的属性和方法。1. 能继承属性和方法。原创 2023-01-31 22:12:48 · 275 阅读 · 0 评论 -
【JavaScript】原型链
小结: 之前的思路是直接给构造函数单独创建一个方法,这样每个构造函数都需要创建一个相同的方法会很麻烦,所以我们直接给内置的构造函数扩展一个方法,这样所有的对象都可以直接使用。现在我们来解决: 把公共的方法提取出来,在原型上书写,只用书写和创建一次, 这样所有的对象都可以使用。在内置构造函数的原型上扩展一个新方法, 所有的数组都可以使用这个方法。问题6 Function.prototype.问题2 Person.prototype.问题7 Object.prototype.问题4 Function.原创 2023-01-30 20:34:11 · 376 阅读 · 0 评论 -
【JavaScript】数组的常用方法
方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的。方法从数组中删除最后一个元素,并返回该元素的值。方法返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回 -1。原创 2023-01-03 22:38:15 · 1332 阅读 · 0 评论 -
【JavaScript】DOM全篇详解
获取元素1. 非常规元素2. 常规元素操作元素属性认识元素属性属性的格式 - 自定义属性- H5 自定义属性操作元素属性原生属性操作自定义属性H5 自定义属性案例一:列表渲染代码执行结果代码执行结果代码执行结果1. 获取元素行内样式2. 获取元素非行内样式可以获取行内样式,以及非行内样式- 语法 window.getComputedStyle(元素).样式名- 得到 该样式的值3. 设置元素样式原创 2023-01-01 16:20:21 · 238 阅读 · 0 评论 -
【JavaScript】JS的三大组成-BOM
> 对象中可以填写 behavior 属性, 值为 smooth 的时候表示可以平滑的滚动过去。- 语法 window.history.forward()- 语法 window.history.back()- 语法 window.history.go(参数)注意 获取的尺寸不包含滚动条的,滚动条是浏览器的内容。- 回到上一级历史记录 相当于浏览器上的回退 ←。- 去到下一级历史记录 相当于浏览器上的前进 →。- 在浏览器 这个 ‘软件’ 中存储的一些内容。浏览器的历史记录 history。原创 2023-01-01 16:18:24 · 473 阅读 · 0 评论 -
【JavaScript】字符串常用方法
如果该参数为负数,则被看作是 strLength + endIndex,这里的 strLength 就是字符串的长度 (例如,如果 endIndex 是 -3,则是,strLength - 3)。方法,给定一个参数:要搜索的子字符串,搜索整个调用字符串,并返回指定子字符串第一次出现的索引。方法返回一个字符串在开始索引到结束索引之间的一个子集,或从开始索引直到字符串的末尾的一个子集。需要截取的第一个字符的索引,该索引位置的字符作为返回的字符串的首字母。该索引位置的字符, 如果没有该索引位置,返回空字符串。原创 2022-12-28 23:05:17 · 261 阅读 · 0 评论 -
【JavaScript】查询字符串、JSON字符串、时间对象、定时器、同步异步、BOM
统一语法 window.xxwindow介绍- 浏览器内置的一个对象,包含操作浏览器的方法x , window可以不写示例 alert() window.alert()特点1. 在各个浏览器表现不一2. 不能用css控制。原创 2022-12-29 21:46:45 · 767 阅读 · 0 评论 -
【JavaScript】定时器
/ 开始抽奖 ---- 不断的从arr中随机产生一项,放到box中。// 需求 点击 box开始抽奖 再次点击停止抽奖。// 2. 生成一个随机数 0 ~ 9。// 根据t判断是否应该生成一个定时器。// 准备一个变量 ,接受定时器结果。// 生成一个0 ~ 9的随机数。// 生成一个0 ~ 9的随机数。// 把抽奖的状态改成正在抽奖。// 停止抽奖 做的是什么事情。// 点击开始按钮 开始抽奖。// 点击结束按钮 结束抽奖。// 用来接受 定时器的结果。"执行了延迟定时器"// 当前抽奖的状态。原创 2022-12-29 21:48:54 · 767 阅读 · 0 评论 -
【JavaScript】for循环
水仙花数一般都是由三位数字组成,特点是当前三位数刚好等于每一位数字的立方和。continue:结束这一次循环,继续下一次的循环。for循环理解成循环的一种简洁(结构)的写法.对比while和for循环结构上面的区别。break:结束整个循环,提升性能。分母:1->100 循环。原创 2022-12-17 22:36:10 · 666 阅读 · 0 评论 -
【JavaScrip】while循环
特点:do while循环是,先不管条件,先执行一回,然后在开始进行条件判断。语法: while(限制条件){满足条件执行的循环体(代码块)}while会先进行条件判断,满足就执行,不满足直接就不执行了。循环嵌套的描述:外层循环一次,里面的存在的循环全部完成一次。输出1-100之间能同时被3和7整除的数字。语法:do { 循环体 }while(条件)是一个和while循环类似的循环。原创 2022-12-17 22:29:42 · 727 阅读 · 0 评论 -
【JavaScript】预解析
/第一步: 还是先分析预编译的结果:注意这里的变量名与函数名重名,所以函数名优先(提前将整个函数体赋值给函数名),因此console.log(a)输出的是函数体function a() {console.log(‘函数’);} //由于预编译规则,找到undefined,提前将整个函数体赋值给函数名。//var a = undefined //由于预编译规则,找到var,提前赋值undefined给变量。//第一步: 分析预编译的结果:提前进入浏览器的引擎(整个预编译的过程不可见!原创 2022-12-17 16:12:34 · 744 阅读 · 0 评论 -
【JavaScript】系统提供的对象方法
将括号里面的信息输出到浏览器控制面板的console面板下,多个信息中间可以逗号分割。var num = window.prompt(‘请输入一个数字’);弹出一个信息提示框,输出括号里面的信息,具有阻止代码继续执行的能力。将括号里面的信息输出到浏览器的文档区,可以解析html标签。弹出一个选择框,选择确定输出真true,取消输出假false。显示操作html和css的页面内容的区域,代码html页面。浏览器类下面的对象,浏览器打开的一个窗口。浏览器下面控制面板中的一个对象。输入的一定是字符串格式的内容。原创 2022-12-16 22:52:34 · 243 阅读 · 0 评论 -
【JavaScript】数据类型
基本类型5种:number/string/boolean/null/undefined引用类型1种:object。原创 2022-12-16 22:48:37 · 571 阅读 · 0 评论 -
【JavaScript】switch语句
1.一般情况下,这两个语句是可以相互替换的;2.switch语句通常处理case为比较确定的值的情况, 而if…else…语句更加灵活, 常用于范围判断;3.switch语句进行条件判断后直接执行对应的case语句, 而if语句根据条件按照顺序执行;所以当分支比较少的时候if语句的执行效率比switch语句高;反之switch效率更高。案例2:if语句实现输入分数,判定成绩等级(5个等级0-100)-if与和switch语句实现90 -> 100:优秀80 -> 90:良好。原创 2022-12-14 19:00:33 · 1950 阅读 · 0 评论 -
【JavaScript】if分支语句以及三目运算
1.if的三种结构(单分支,双分支,多分支)2.if的条件可以是任意的表达式,但是结果一定是布尔值,系统自动调用Boolean方法对表达式进行求值。3.if语句满足一个分支,立刻结束4.尽量将最大的可能给if语句,如果满足if,else短路操作(代码不执行),同时else可以省略。5.合并条件,提示错误或者其他信息的时候就不够准确。嵌套使用,提升用户体验,多条件使用,减少代码。原创 2022-12-14 18:58:33 · 686 阅读 · 0 评论 -
【JavaScript】初识JavaScript
变量指的是在程序中保存数据的一个容器变量是计算机内存中存储数据的标识符(名称),根据变量名称可以获取到内存中存储的数据(页面中的一切信息)也就是说,我们向内存中存储了一个数据,然后要给这个数据起一个名字,为了是我们以后再次找到他。原创 2022-12-12 22:10:41 · 251 阅读 · 0 评论 -
【JavaScript】初识JavaScript
js是高级编程语言, js引擎通过解析js代码, 解析成二进制让计算机去执行原创 2022-11-19 14:58:08 · 230 阅读 · 0 评论