
JavaScript
李子不会理
这个作者很懒,什么都没留下…
展开
-
Promise
Promise构造函数接收一个函数作为参数,也就是回调函数;该函数的两个参数分别是resolve和reject。resolve作为成功的回调函数,reject作为失败的回调函数。先创建一个promise对象,接着调用then方法,then方法返回结果是Promise对象,对象状态由回调函数的执行结果决定。promise是ES6新建的一个封装异步操作的函数,一般拿来封装ajax。then方法是可以链式调用来处理一些回调地狱的问题。控制失败的回调,类似于then的第二个参数。原创 2022-10-10 19:16:00 · 185 阅读 · 0 评论 -
Typescript
TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型(就是在你定义后面的加上你想要的数据类型,后面将变量进行值修改,但是变量类型不能改动)any是在我们编程阶段还不清楚的类型的变量指定的一个类型,我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。接口:在TypeScript中,接口的作用就是命名这些类型和在你的代码和第三方代码之间建立契约。类实现接口必须具有接口得属性和方法,方法一般情况为一个没有方法体的方法。接口是需要实现的类是可以继承。原创 2022-09-21 15:50:55 · 201 阅读 · 0 评论 -
迭代器 (iterator)
1.创建指针对象,指向当前数据结构的起始 2.第一次调用指针对象next方法,可以将指针指向数据结构的第一个成员 3.第二次调用,指向下一个,一直指导数据结构结束位置。iterator 是一种接口,为不同的数据结构提供统一的访问机制,任何数据结构只要部署iterator接口,可以完成遍历操作;可以用keys values entries 来检查是否为iterator ,否返回is not iterable。且iterator接口主要是供ES6中的for of 来消费。原创 2022-09-19 16:41:24 · 344 阅读 · 0 评论 -
ES6 类
静态属性和静态方法是定义在类【构造函数】上的,所以可以通过类【构造函数】直接访问。在静态方法中,this指向当前类【构造函数】,静态方法是构造函数的私有属性,并不是公共属性。constructor,是类的默认方法,创建类的实例化对象时候被调用。ES6提供了类Class这个概念,作为对象的模板。定义一个类通过class关键字,ES6的类可以看成是构造函数的另一种写法。class 的本质是 function。如何去定义一个类:1.不可重复声明,2.类定义不会被提升,所以使用前必须进行类的定义,否则就会报错。原创 2022-09-15 17:01:39 · 139 阅读 · 0 评论 -
ES6 解构
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构,解构的本质属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。如果解构不成功,变量的值就等于undefined。原创 2022-09-14 15:30:06 · 385 阅读 · 0 评论 -
ES6 模块化
ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。1、CommonJS 模块输出的是一个值的拷贝/复制,ES6 模块输出的是值的引用。每个模块都有自己的上下文,每一个模块内声明的变量都是局部变量,不会污染全局作用域。每一个模块只加载一次(是单例的), 若再去加载同目录下同文件,直接从内存中读取。模块中可以导入和导出各种类型的变量,如函数,对象,字符串,数字,布尔值,类等。2、CommonJS 模块是运行时加载,ES6 模块是编译时输出接口.原创 2022-09-13 18:46:23 · 173 阅读 · 0 评论 -
JavaScript 函数调用
call:简单的说,A.call(B) 就是使得A可以身上可以使用B的属性,使得A披上了B的假面。apply 和call区别是后面多传递的参数要使用数组来包含。函数名.apply(执行环境对象,实参列表数组);函数名.bind(执行环境对象)(实参列表);函数名.call(执行环境对象,实参列表);后三种方法作用类似,都是改变this的指向。bind 是需要一个参数来接受返回值。函数名(实参列表);原创 2022-09-08 19:23:00 · 462 阅读 · 0 评论 -
for in 与 for of
自定义变量名”用来指定是数组的元素索引,也可以是对象的属性。for of 和for in它们两者都可以用于遍历,不过。for(自定义变量名 in 数组/对象){for..in用于遍历数组或者对象的属性。在数组中 自定义变量是存储了数组的索引值。遍历的是数组的索引(即键名),而。在对象中,存储了其键值。遍历的是数组的索引(遍历的是数组元素值(或数组、字符串的下标。原创 2022-09-01 18:34:34 · 442 阅读 · 1 评论 -
通讯,跨文档数据传输
H5提供了网页文档之间互相接收与发送消息的功能。当在a页面中通过window.open方法打开b页面,或者在a页面中通过iframe嵌套b页面,我们想让a中的数据传递到b中就可以使用跨文档消息传输。第二个页面,这个页面是第一个的内敛样式。通过第一个页面打开窗口,......原创 2022-08-31 18:02:43 · 127 阅读 · 0 评论 -
Web 存储
使用sessionStorage 进行会话存储,页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面。:cookie存储在浏览器中,每次浏览器向服务器发送请求都需要携带cookie,一般情况下,cookie是产生于服务器端,保存于客户端,但是我们也可以通过js来产生cookie;:使用localStora 进行本地存储, 将数据存到本地磁盘中,即使浏览器关闭数据依然在,特点:将数据存储到本地磁盘 即使选项卡和浏览器关闭数据依旧存在,除非手动删除 否则数据一直存在本地磁盘中 传输得数据5M甚至更大。...原创 2022-08-31 16:26:35 · 90 阅读 · 0 评论 -
AJAX GET和POST
POST:1.偏向提交的语义化;2.参数格式多样,但是需要特殊说明;3.理论传输内容大小上没有限制。GET:1.偏向获取的语义化;2.参数是查询字符串;3.传输内容不能过大;ajax中GET和POST都是后端人员进行数据传输的接口。...原创 2022-08-29 17:21:12 · 106 阅读 · 0 评论 -
DOM 初步认识
通过document对象调用:1.getElementById() 通过ID属性来获取一个元素节点对象 2.getElementsByTagName() 通过标签名获取一组元素节点对象 3.通过getElementsByName()通过name属性获取一组元素节点对象。clientWidth:返回该元素它内部的宽度,包括内边距,但不包括垂直滚动条、边框和外边距。clientHeight:获取元素内部的高度,包含内边距,但不包括水平滚动条、边框和外边距。tagName:返回当前元素的标签名。...原创 2022-08-29 16:19:40 · 130 阅读 · 0 评论 -
JSON和JS区别
JSON和JS对象的格式一样,只不过JSON字符串中的属性名必须加双引号。JSON(格式字符串) 和 JS 对象(也可以叫JSON对象 或 JSON 格式的对象)互转(JSON.parse 和 JSON.stringify)。JSON.stringify(obj) 将对象序列化为JSON字符串,只能序列化对象可枚举的自有属性。中使用$.parseJSON()来讲json对象转换为js对象,使用$.param()进行序列化。对象序列化是指将对象的状态转换为字符串,也可以反序列化,将字符串还原为对象函数。...原创 2022-08-26 18:27:46 · 3993 阅读 · 0 评论 -
JavaScript BOM
Location:代表当前浏览器的地址栏的信息,通过Location可以获取地址栏的信息,或者操作浏览器跳转页面。Navigator:代表当前浏览器的信息,通过该对象可以识别不同的浏览器,但是由于历史原因,其大部分属性都已经不能帮助我们识别浏览器了。这些BOM对象在浏览器中都是做为window对象的属性保存的,可以通过window对象来使用,也可以直接使用。Screen:代表用户的屏幕信息,通过该对象可以获取到用户的显示器的相关的信息。BOM:浏览器对象模型;BOM可以使得我们通过JS来操作浏览器。原创 2022-08-25 11:15:05 · 177 阅读 · 0 评论 -
JavaScript 原型
原型对象也是对象,所以它也有原型,当我们使用一个对象的属性或者方法时候,会先在自身寻找,自己有则使用,没有去原型对象中寻找,不行就在去原型的原型中寻找,直到找到object对象的原型,Object对象的原型还是没有,就返回undefined。(以后我们可以在创建函数时,可以将这些对象共有的属性和方法,统一添加到构造函数的原型对象中,这样不用分别为每一个对象添加,也不会影响到全局作用域,就可以使得每一个对象都具有这些属性和方法了)检查对象中是否含有某个属性时,如果对象中没有但是原型中有,要会返回true。原创 2022-08-20 23:30:16 · 162 阅读 · 0 评论 -
构造函数深入了解
因此对前面的案例而言,person1 和 person2 都有名为 adi()的方法,但这两个方法不是同一个 Function 实例。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”。但是勒,也可以改成构造函数的方法来定义,区别就是:这个没有显式的创建对象,并且将方法属性都赋值给了this,也没有return。但是使用原型模式会改变原生的对象类型,可能会发生命名冲突,更好的是采用构造函数和原型模式的组合方式。...原创 2022-08-18 18:55:35 · 70 阅读 · 0 评论 -
JavaScript 数组
push(向数组的末尾添加一个或者多个元素,并且返回新长度)/pop(用于删除最后一个数组元素,并返回删除元素)/ shift(把第一个元素删除,并且返回第一个元素的值)/unshirt((向开头添加一个或者多个元素,并返回新长度)join(将数组中的所有元素转换成一个字符串,并且可以通过指定的分隔符进行分隔)如果数组中有对象,函数等,join转换的是它的原型,可以选用序列化工具进行转换。forEach(数组的每一个元素都执行一次回调函数)用于调用速度的每一个元素,并且将元素返回给回调函数。...原创 2022-08-13 16:21:19 · 236 阅读 · 0 评论 -
JavaScript 函数
函数是由事件驱动的或者当他被调用执行的可重复使用的代码块。函数实际上也是对象,每一个函数都是function类型的实例,函数名实际上也是一个指向函数对象的指针。:回调函数实现异步编程,例如:们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。JavaScript函数有个内置的对象arguments对象,其包含了函数调用的参数数组(将传递进来的参数当成一个数组),本身相当于一个类数组;(最常见的闭包的创建方法就是在一个函数内部创建另一个函数)传递进去的值为形参;...原创 2022-08-12 13:07:50 · 167 阅读 · 0 评论 -
JavaScript 对象
这个属性不包含数据,包含一对get和set方法(双向绑定的原型),但是访问器不能直接定义必须使用object.defineProperty()方法来定义。JavaScript的对象也是一个变量,但是对象可以包含多个值 (使用键值对的写法 key:value):(个人看法:是对使用object.defineProperty 创建的对象内在属性的设置;【Enumerable 】 设置定义属性能否通过for in 循环来返回属性;对象的方法定义了一个函数,并作为对象的属性存储。对象的属性之间一定要用逗号隔开;..原创 2022-08-11 19:21:56 · 251 阅读 · 0 评论 -
JavaScript运算符
5、undefined 除了与字符串进行累加时有效(undefined 视为字符串"undefined"处理),其他情况皆返回 NaN。++放在前面先累加后赋值,放在后面先赋值后累加 (递减(--)也是一样的用法)4、bool 类型与 null 类型进行累加时,视为其与整数类型累加处理。条件1:条件2 当X中的数据执行为真时执行条件1 当为假时执行条件2。2、bool 类型在与数字类型进行相加时,视为 0 或者 1 处理。3、null 类型与数字类型进行累加时,视为 0 处理。...原创 2022-08-08 20:00:47 · 225 阅读 · 0 评论 -
JS 初步认识总结
字符串(String) 数字(Number)布尔(Boolean)空(Null)未定义(Undefined) symbol(是Es6新加的数据类型,表示独一无二的值)(let const是ES6新增的语言,相比var ,其初始化不能为空值,不会进行预解析,不能重复定义变量,有块级作用xiab。:使用关键字function来定义函数,使用return语句返回函数值,使用return,函数将会停止,并且返回函数值。:对象(object) 数组(array)函数(Function)正则(RegExp)...原创 2022-08-08 19:17:39 · 127 阅读 · 0 评论