- 博客(89)
- 收藏
- 关注
原创 CommonJS规范
require() 是同步加载模块的方法,所以无法用来加载ES6的模块,当我们需要在CommonJS中加载ES模块时。证明模块确实运行到了函数里面,使用函数专有的arguments,每一个CommonJS模块在执行时,外层都会被套上一个函数。并不是因为他们是全局变量,他们实际上以为参数的形式传递模块。exports: 用来设置模块向外暴露的内容。__dirname: 模块所在目录的路径。require: 用来引入模块的方法。__filename: 模块的路径。模块都是包含在函数当中的。
2023-04-28 17:07:30
591
1
原创 async和await
使用await调用函数后,await当前函数后的所有代码,会先进入微任务队列。在async声明的函数中可以使用await关键字来调用异步函数。如果async声明的函数没有写await,那么它就会依次执行。await后的所有代码,都会放入到微任务队列中执行。es模块的顶级作用域。
2023-04-27 15:25:34
1232
原创 宏任务和微任务
以上的代码控制台的输出结果是“ 2,1";即先输出2再输出1;先执行的是打印”2“的内容,再执行定时器中1秒之后打印”1"的内容;将定时器中的时间改为0,即立即触发,代码控制台的输出结果仍然为"2, 1";定时器的作用是间隔一段时间后,将函数放入到任务队列中,而 ”console.log(2)“则是直接在调用栈中执行,执行完毕了,消息队列中的定时器才会进入到调用栈中执行代码。
2023-04-07 17:07:45
376
原创 Promise详解
Promise就是一个用来存储数据的对象但是由于Promise存取方式的特殊,所以可以直接将异步调用的结果存储到Promise中调用方法就会有返回值,而调用then、catch、finally三种方法都会产生一个新的Promise对Promise进行链式调用时,后面的方法(then和catch)读取的是上一步的执行结果如果上一步的执行结果不是当前想要的结果,跳过当前的方法上述示例中,reject绑定了异常的数据,下面的promise调用的第一个then方法显然不会接收reject。
2023-03-21 16:15:27
517
原创 Promise介绍和详解
Promise中维护了两个隐藏属性:- 用来存储数据- 记录Promise的状态(三种状态)pending (进行中)fulfilled (完成) 通过resolve存储数据rejected (拒绝,出错了) 出错了或通过reject存储数据时- state只能修改一次,修改以后永远不会再变。
2023-03-15 15:35:40
545
原创 同步和异步
代码编写完毕在编译的过程中计算机的内存中会开辟一个空间来存储代码,这个空间就相当于是进程,可以将进程类比于工厂的厂房,但代码相当于原材料,但仅有厂房和原材料无法生产,还需要工人进行加工,工人则类比于线程。
2023-03-13 14:50:51
273
原创 Node.js简介
客户端访问网页时向服务器端发送请求要访问服务器中的页面,服务器收到请求后向数据库中进行搜索,搜索到相关数据然后返回结果给客户端显示;这个过程就类似于:客人(客户端)去饭馆(服务端)点菜(需求),服务员(线程)来对客人(客户端)服务,把客人(客户端)点的菜报告给后厨(数据库)
2023-03-10 15:09:28
463
原创 八十九——一三三
script>/*MDN网站中关于数组的介绍:举例:静态方法:Array.isArray()如果参数是数组则返回 true ,否则返回 false实例方法:Array.prototype.at() 类.对象.at()数组的索引值接收负数,即从后往前数*/// 利用静态方法 Array.isArray() 判断参数是否是一个数组console.log(Array.isArray({ name: "孙悟空"})) // false 参数是对象不是数组。
2023-02-18 15:53:41
708
原创 七十二——八十八
使用Object创建对象的问题1. 无法区分不同类型的对象2. 不方便批量创建对象在JS中可以通过类(class)来解决这个问题1. 类是对象模板,可以将对象中的属性和方法直接定义在类中定义后,就可以直接通过类来创建对象2. 通过同一个类创建的对象,我们称之为同类对象,可以使用onstanceof来检查一个对象是否由某个类创建的语法:class 类名 { } 类名要使用大驼峰命名 class Person {}const 类名 = class { }
2022-12-30 17:18:57
854
原创 五十二——七十一
参数- 在定义函数时,可以在函数中执行数量不等的形式参数(形参)- 在函数中定义参数,就相当于在函数内部声明了对应变量但没有赋值实际参数- 在调用函数时,可以在函数的()中传递数量不等的实参- 实参就会赋值给对应的形参- 参数1. 如果实参和形参数量相同,则对应的实参赋值给对应的形参2. 如果实参多于形参,则多余的实参不会使用3. 如果形参多于实参,则多余的形参为undefinded参数类型- JS中不会检查参数的类型,可以传递任何类型的值作为参数1.函数声明。
2022-12-19 15:56:09
453
原创 四十六——五十一
1. 数值 Number2. 大整数 BigInt3. 字符串 String4. 布尔值 Boolean5. 空值 Null6. 未定义 Undefinded7. 符号 Symbol- 对象是JS中一种复合数据类型它相当于一个容器,在对象中可以存储不同的类型数据,例如对象中可以存储人的姓名、身高、年龄创建一个对象(new可省略)向对象中添加属性读取对象中的某个属性- 如果读取的是对象中没有的属性不会报错而是报undefinded。
2022-12-16 17:31:56
604
原创 二十八—— 四十三
循环语句- 通过循环语句可以使指定的代码反复执行- JS中以共由三种循环语句while语句do-while语句for语句循环语句的三要素:初始化表达式(初始化变量)条件表达式 (设置循环运行的条件)更新表达式。
2022-12-16 10:42:10
453
原创 二十七、JavaScript——if语句
最佳实践:即使if语句后只有一行代码,我们也应该编写代码块,这样结构会更加清晰。if语句只控制紧随其后的第一行代码,如果希望可以控制多行代码。if语句在执行会先对if后的条件表达式进行求值判断。可以使用 {}将语句扩起来。如果为false则不执行。
2022-12-15 15:32:06
195
原创 二十六、JavaScript——代码块
同一代码块中的代码,就是同一组代码,一个代码块中的代码要么都执行,要么。- 使用var声明的变量,不具有块作用域,代码块的外部也能使用。在代码块中声明的变量无法在代码块的外部进行使用。- 在JS中,使用let声明的变量具有块作用。
2022-12-15 15:04:32
270
原创 二十五、JavaScript——运算符的优先级
运算符的优先级参考官网:运算符优先级 - JavaScript | MDN (mozilla.org)
2022-12-15 14:39:25
152
原创 二十四、JavaScript——条件运算符
条件运算符再执行时,会对条件表达式进行求值判断。如果结果为false,则执行表达式2。如果结果为true,则执行表达式1。
2022-12-15 14:29:58
169
原创 二十三、JavaScript——相等运算符
它不会进行类型的自动转化,如果两个值的类型不相同直接报false。- 它不会进行类型的自动转化,如果两个值的类型不相同直接报false。它会将其转化为相同的类型(通常转化为数值)然后再比较。它会将其转化为相同的类型(通常转化为数值)然后再比较。- 相等运算符,用来比较两个值是否相等。- 全等运算符,用来比较两个值是否全等。- 相等运算符,用来比较两个值是否相等。- 全等运算符,用来比较两个值是否全等。- 不等, 用来检查两个值是否不相等。- 不全等,用来比较两个值是否不全等。
2022-12-15 14:20:40
772
原创 二十二、JavaScript——关系运算符
成立返回true,不成立返回false。- 用来检查左值是否大于等于右值。- 用来检查左值是否小于等于右值。- 用来检查左值是否大于右值。- 用来检查左值是否小于右值。-用于检查两个值之间的关系是否成立。
2022-12-15 13:56:52
245
原创 二十一、JavaScript——逻辑与和或
如果第一个值为true,则返回第二个值作为最终的返回结果。- 当&&左右都为true时,则返回true,否则为false。- 当||左右有true时,则返回true,否则返回false。- 与运算是短路的与,如果第一个是false,则不看第二个值。- 如果第一个在为false,则返回第一个值。-对于非布尔值进行与运算,它会转化为布尔值然后运算。- 如果第一个值为true 返回第一个。- 如果第一个值为true,就不看第二个了。- 或运算找true,找到true直接返回。- 可以对两个值进行或运算。
2022-12-15 10:55:57
994
原创 二十、JavaScript——逻辑非
类型转化转换为字符串显式转换隐式转换与字符串相加: + “ ”转换为z数值显式转换隐式转换与数值相加: +转换为布尔值显式转换隐式转换!
2022-12-15 10:24:12
655
原创 十九、JavaScript——自增和自减
在这个例子中, 运算符 “+”只是起了一个相加的作用,并没有将 “a + 1"的值赋值给新的变量,所以 a 打印出来仍为 10,运算符:一般的运算符不会轻易改变变量的值,除了赋值运算符“=”,会将值赋值给变量,改变变量的值。console.log( a) //打印的值为10。- 无论是++a还是a++都会使得原变量立刻增加1。- 自增分为前自增(++a) 和后自增(a++)- ++ 使用后会使得原来的变量的值立刻增加1。- 不同的是++a和a++所返回的值不同。例如: let a = 10。
2022-12-15 10:00:33
478
原创 十八、JavaScript——一元的正负
当我们进行非数值类型进行正负运算时,会将其转化为数值再进行运算,等价于Number()函数。- 可以对数值进行符号位取反。- 不会改变数值的符号。运算符,加号的左右两侧需要两个操作数才能进行,又例如。- 可以对数值进行符号位取反。- 不会改变数值的符号。运算符,只需要一个操作数(这里操作数是a),例如 1 + 1 中的加就是。
2022-12-15 09:34:57
224
原创 十七、JavaScript——赋值运算符
只有变量的值为null或者undefined才会对变量进行赋值。- 只有变量的值为null或者undefined才会对变量进行赋值。- a **= n 等价于 a = a ** n。- 一个变量只有在等号左边才是变量,在等号右边它是值。- 大部分的运算符都不会改变变量的值,赋值运算符除外。- a += n 等价于 a = a + n。- a += n 等价于 a = a - n。- a *= n 等价于 a = a * n。- a %= n 等价于 a = a % n。
2022-12-14 17:31:07
174
原创 十六、JavaScript——算数运算符
其原理和toString()相同,但使用起来更加简明。-运算符可以用来对一个或者多个的值进行运算。% 模运算,两个数相除取余数。undefined自动转化为 NaN。** 幂运算 求几次幂。JS是一门弱类型语言,当进行运算时会通过自动的类型转换完成运算。当任意一个值和字符串做加法运算时,它会将其他值转化为字符串。‘5’参与运算自动转化为5。false自动转化为0。可以通过为任意类型 + 一个空串的形式将其转换为字符串。true自动转化为1。
2022-12-14 17:10:41
130
原创 十五、JavaScript——布尔值
null 和 undefinded 都转化为false。- 0 和 NaN 准化为 false。0、NaN、空字符串、null、undefined。- 所有表示空性的没有的错误的值都会转化为false。- 空串 ‘’ 转化为false。- 其余全是ture。- 其余全是ture。1.使用Boolean()函数来将其他类型转化为布尔值。
2022-12-14 16:38:41
322
原创 十四、JavaScript——类型转化_数值
将其他的数据类型转化为数值使用Number()函数来将其他类型转化为数值,适用于任何类型使用parseInt() -- 将一个字符串转化为一个整数-解析时,会自作向右读取一个字符串,直到读取到所有的整数位parseFloat() -- 将一个字符串转化为浮点数使用Number()函数来将其他类型转化为数值- 转化的情况-字符串- 如果字符串是一个各发的数字,就转化为对应数字- 如果字符串不是合法数字,转化为NaN(例如 ‘abc'就不是合法数字)- 字符串是空串或纯空格,转化为0。
2022-12-14 16:19:05
512
原创 十三、JavaScript——类型转化
类型转化:指将一种数据类型转化为其他的数据类型- 指将其他类型转化为(字符串、数值、布尔值)调用String()函数将其他类型转化为字符串。
2022-12-14 15:11:47
302
原创 十二、JavaScript——其他数据类型
NumberBigIntStringBooleanNullUndefindSymbol其中原始值是构成各种数据的基石,一旦创建就不能修改,内存中已经开辟了空间来存储这些值了。
2022-12-14 14:24:12
196
原创 十一、JavaScript——字符串
在 JS中使用单引号或者双引号来表示字符串(要么全用双引号,要么全用单引号,不要混着用)\n 表示 换行。使用typeof检查转义字符返回的是string类型。使用反单引号 ` 来表示模板字符串 即。\t 表示 缩进 制表符。如果在字符串中间想引入一个。\* 表示 *\' 表示 '
2022-12-14 11:19:30
970
原创 十、JavaScript——类型检查
有时候数据并不是自己定义的,而是别人定义好的,我们直接拿来用,而类型不同的数据又不能进行运算,我们作为一个使用者,怎么才能知道这个数据类型是否是相同类型,是否能进行运算呢,这就需要进行。- typeof检查的是变量中值得类型,而不是变量的类型,JS中变量是没有类型的。关键字定义变量并且使用变量,如下面的例子,就定义了一个变量a,为num,和大整数类型b,然后在控制台打印输出。- typeof用来检测不同的值的类型。
2022-12-14 10:21:10
110
原创 九、JavaScript——数据类型_数值
Infinity 是一个特殊的数值表示无穷 例如 let a = 9999 ** 9999 , console.log(a) ,控制台就会打印输出Infinity。JS中的数值并不是无限大的,当数值超过一定后会显示近似值,JavaScript表达的最大整数是:9007199254740992。- 大整数用来表示一些比较大的整数,没有上限(以内存大小为界限),以n结尾。-在JS中所有的整数和浮点数(小数) 都是Number。NaN 也是一个特殊的数值,表示非法的数值,大整数(BigInt)
2022-12-14 09:51:30
305
原创 八、JavaScript——标识符
定义:在JS中,所有可以自主命名的内容,我们都可以称之为标识符,像变量名、函数名、类名、标识符不建议使用内置的函数或类名作为变量名, 如。作为内置函数的弹窗效果覆盖,定义成变量后,再使用。标识符不能是JS中的关键字和保留字,如。标识符只能含有字母、数字、下划线。alert("内容“)
2022-12-13 19:07:48
1191
原创 六、JavaScript——变量的内存结构
定义:内存是用于存储数据的地方,程序要执行一段代码,要先从硬盘加载到内存当中,再由内存发送给CPU,CUP才能对代码进行执行。
2022-12-13 17:03:34
545
原创 五、JavaScript——字面量和变量
含义:字面量就是一个值,他所代表的含义,就是它字面的意思,没有任何的引申义,上述代码中使用变量a,不提前声明的话,打开网页,控制台报错。右键打开默认浏览器(或快捷键Ctrl+B)由于直接使用字面量并不方便,所以采用变量。
2022-12-13 16:10:16
302
原创 四、JavaScript——基本语法
网页没有跳出弹窗,并且打开控制台,发现控制台报错。右键打开默认浏览器(或者快捷键Alt+B)右键打开默认浏览器(或者快捷键Alt+B)右键打开默认浏览器(或者快捷键Alt+B)打开网页弹窗的样式依旧没有变化。编译器会自动忽略空格和换行。Alert("弹窗"),alert("弹窗")
2022-12-13 15:26:38
210
原创 三、JavaScript——编写位置
文件(.js结尾的文件),文件内部的内容为一个。script src="图片路径”点击网页的按钮会跳出相应的弹窗,右键打开默认浏览器(或者快捷键。右键打开默认浏览器(或者快捷键。右键打开默认浏览器(或者快捷键。点击超链接会跳出相应的弹窗。文件夹下新建一个文件夹为。alert("内容")内部再写JS代码了,
2022-12-13 14:55:39
1313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人