![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js学习笔记
invincible_xy
这个作者很懒,什么都没留下…
展开
-
JS复习之async、await
async在普通函数定义的前面加上async关键字 普通函数就变成了异步函数异步函数默认的返回值是Promise对象在异步函数内部使用throw关键字进行错误的抛出awaitawait关键字只能在async function内部有效await 用于等待一个 Promise 对象,它可以暂停异步函数的执行,等待Promise对象返回结果后再向下执行函数示例1// async function fn () {// throw '发生了一些错误';// return 123;/原创 2020-07-05 07:52:42 · 106 阅读 · 0 评论 -
复习之深入Promise,实现ajax函数的封装
什么是PromiseJavaScript 这门语言是单线程执行的,这就导致一些耗时的操作会阻塞当前运行线程。为了解决这个问题,引入了“同步”和“异步”这两个概念。当多个异步任务需要顺序执行的时候,回调函数层层嵌套便产生了回调地狱。Promise,作为异步编程,回调地域的一种解决方案出现了。Promise对象具有以下两个特点:对象的状态不受外界影响。Promise 对象代表一个异步操作,有三种状态:pending: 初始状态,不是成功或失败状态。fulfilled: 意味着操作成功完成。re原创 2020-07-05 07:40:50 · 125 阅读 · 0 评论 -
区分var let const
1.var(1)var定义的变量在之后可以修改,如果不初始化会输出undefined,不会报错,存在声明提升。(2)var定义的变量,可以跨块访问, 不能跨函数访问。(3)var只有函数作用域,没有块级作用域。(4)var的作用域是函数作用域,var可以用来声明全局变量,也可以声明局部变量。在一个函数内利用var声明一个变量,则这个变量只在这个函数内有效。全局变量:在函数外定义的变量,作用域是整个代码文件。局部变量:在函数内定义的变量,作用域是当前的函数内部。(5)可以重复定义,后面的值会原创 2020-07-02 05:34:58 · 89 阅读 · 0 评论 -
构造函数和原型的深度分析
1.构造函数和原型1.1对象的三种创建方式–复习字面量方式var obj = {};new关键字var obj = new Object();构造函数方式function Person(name,age){ this.name = name; this.age = age;}var obj = new Person('zs',12);1.2静态成员和实例成员1.2.1实例成员实例成员就是构造函数内部通过this添加的成员 如下列代码中uname age原创 2020-06-30 01:48:42 · 143 阅读 · 0 评论 -
深入分析Js变量存储及浅拷贝深拷贝问题
一、数据类型值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。引用数据类型:对象(Object)、数组(Array)、函数(Function)。二、存储方式及复制、拷贝首先内存中分为两块区域一块叫栈,一块叫堆。基础数据类型保存在栈内存中。例如var a = 1var b = a这里’1’是数值类型,这时会在栈上开辟一个空间 用来去存储它,那a就是用来调用他的名字。b = a,这时,原创 2020-06-30 00:50:52 · 118 阅读 · 0 评论 -
闭包的理解
闭包什么是闭包闭包的缺点使用闭包的注意点什么是闭包闭包(closure)指有权访问另一个函数作用域中变量的函数。闭包的主要作用: 延伸了变量的作用范围//fn 外面的作用域可以访问fn 内部的局部变量 function fn() { var num = 10; // function fun() { // console.log(num); // } //原创 2020-06-29 02:22:12 · 130 阅读 · 0 评论 -
扩展运算符理解
扩展运算符是否为深拷贝// key是键,value是值let obj = { key :value }当value是基本数据类型,比如String,Number,Boolean时,是可以使用拓展运算符进行深拷贝的。比如:// value是基本数据类型let oldObj = { id: 1 }let newObj = { ...oldObj }oldObj.id = 2console.log(oldObj) // {id: 2}console.log(newObj) // {id:原创 2020-06-29 01:01:20 · 575 阅读 · 0 评论