JavaScript基础知识
文章平均质量分 69
蔡姐
这个作者很懒,什么都没留下…
展开
-
对于ajax的理解
一. 什么是ajaxAJAX全称(Async Javascript and XML), 即异步的JavaScript 和XML,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并且更新部分网页二.实现过程1.创建 Ajax的核心对象 XMLHttpRequest对象const xhr = new XMLHttpRequest();2.通过这个对象的 open() 方法创建HTTP请求,与服务端建立连接xhr.open(method, url, [as原创 2022-05-08 19:36:20 · 1140 阅读 · 1 评论 -
JavaScript中执行上下文
文章导图:一.执行上下文执行上下文的类型分为三种:全局执行上下文:只有一个,浏览器中的全局对象就是 window对象,this 指向这个全局对象函数执行上下文:存在无数个,只有在函数被调用的时候才会被创建,每次调用函数都会创建一个新的执行上下文Eval 函数执行上下文: 指的是运行在 eval 函数中的代码,很少用而且不建议使用二.生命周期执行上下文的生命周期包括三个阶段:创建阶段执行阶段回收阶段2.1 创建阶段在创建阶段做了三件事:this的绑定LexicalEnv原创 2022-05-04 23:20:55 · 630 阅读 · 0 评论 -
js中extends使用和原理
开始先推荐一篇文章,将js的继承讲述的特别全面,我就是取里面的结论,方面日后查阅Javascript如何实现继承?一.继承的使用方法js里面常用的就是extends,使用方式如下:class Father { constructor(name) { this.name = name } // 原型方法 // 即 Person.prototype.getName = function() { } // 下面可以简写为 getName() {...}转载 2022-05-02 13:20:59 · 6221 阅读 · 0 评论 -
new操作符具体干了什么
一.new是什么定义: new操作符用于创建一个给定构造函数的实例对象简单来说:1.new 能创建一个实例对象; 2.这个对象是给定的构造函数例子:function Person(name, age){ this.name = name; this.age = age; console.log(this) // Person { name: 'Tom', age: 20 }}Person.prototype.sayName = function () { cons原创 2022-04-21 14:50:45 · 10904 阅读 · 0 评论 -
数组去重几种方式/获取数组最大值几种方式
这个内容网上太多了,而且一般去重自己常用的也就是那一两种,这个就是为面试用的,我自己总结了几个觉得有意思的方法,放在下面const arr =[1,2,2,2,3,3,4,5,6,8,8]ES6 Set 去重 (自用)function unique1(arr) { return [...new Set(arr)]}arr1 = unique1(arr)console.log(arr1)单循环 includes/index Of 都可以实现function unique2(arr)原创 2022-04-20 21:52:46 · 467 阅读 · 0 评论 -
JS的事件循环理解
早年曾写了一篇事件循环的学习笔记,Jake Archibald: In The Loop【事件循环学习笔记】,不过这个以视屏学习为主流程,今天再写一篇,对事件循环做个补充.一. 为什么需要事件循环因为js是一门单线程语言,但是我们因为需要调用接口或者进行其他需要延时的操作,如果是单线程,就会阻塞整个进程.所以实现单线程非阻塞的方法就是事件循环.在JS中任务大致分为两种:同步任务:可以立即执行,同步任务一般会直接进入到主线程中执行.注意: new Promise 是同步任务,可以进入主线程异步任原创 2022-04-20 17:32:08 · 2089 阅读 · 0 评论 -
JS的深拷贝和浅拷贝
介绍JS的浅拷贝和深拷贝原创 2022-04-16 23:15:49 · 2978 阅读 · 0 评论 -
JS回调函数练习
最近看了一篇文章为:Mastering Hard Parts of JavaScript里面主要包含以下部分:Callbacks & Higher order functions Closure(scope and executioncontext)JavaScript & the event loopClasses & Prototypes (OOP)这篇文章列举了很多例子进行练习,有助于我进行学习。我把这篇文章中我觉得很不错的例子列举出来,然后附上我自己的答案和原创 2020-09-12 18:28:12 · 1496 阅读 · 0 评论 -
JS中的Generator函数
介绍genetor…next和async…await两个原创 2020-07-16 14:37:43 · 2135 阅读 · 0 评论 -
for in , for of 和forEach三者对比
for in , for of 和forEach三者都是循环时经常使用的,但是每个使用场景都是有轻微不同,接下来就进行一个对比1.1 for…in…的作用1.1.1 可枚举对象const person = { name: 'Lydia', age: 21,};for (const item in person) { console.log(item);}这个输出结果是: name age对于这个结果可以简单理解为,对于对象object,使用for…in…循环是对对象的key原创 2020-07-10 20:24:03 · 13567 阅读 · 4 评论 -
JS中的变量提升总结
1.JS代码执行顺序我们直觉上会认为JS的代码在执行时是由上到下一行一行执行的,但实际并不完全正确,下面的例子会证明:a = 'haha'var aconsole.log(a)上面的代码会输出什么呢?如果按照我们认为的由上到下一行一行执行,那么应该输出undefined,但是实际结果是'haha'。接着再看一个代码:console.log(a)var a = 'haha'那这个输出的是什么?鉴于上面代码表现出来的非自上而下的特点,有可能认为是’haha’。或者有认为变量a没有声明,原创 2020-06-26 16:02:33 · 2897 阅读 · 8 评论 -
【学习笔记】JavaScript中super
最近在开发中见到了super,但是对这块不是很清楚,所以学习了一下,并进行一个小小的总结,方便自己再度加强记忆,也方便小伙伴们一起查询。因为也是学习过程,如果文中有理解错误的地方,请评论区中指正,十分感谢1.super的概念在MDN中对super的定义如下:super关键字用于访问和调用一个对象的父对象上的函数。super.prop和super[expr]表达式在类和对象字面量任何方法定义中都是有效的。其实我理解就是super关键字可以用在类和对象里面,并且可用于访问父类/父对象的构造函数和原创 2020-06-25 23:37:33 · 1965 阅读 · 0 评论 -
call,apply和bind的小小总结
1. call,apply和bind的概念1.1 call的概念1.2 apply的概念1.3 bing的概念2 例子const person = { name: 'Lydia' };function sayHi(age) { return `${this.name} is ${age}`;}console.log(sayHi.call(person, 21));console.log(sayHi.bind(person, 21));结果是什么呢?答案:Lydia is 2原创 2020-06-24 18:58:02 · 373 阅读 · 0 评论 -
JavaScript的每日一问
这篇文章是对一些常用的JS方法进行补充说明,不定期更新1. Set 使用方法1.1 基本用法ES6 提供了新的数据结构 Set,它类似于数组,但是成员的值都是唯一的,没有重复的值。因为这种作用,现在去重最常用的方法就是这个,如下面代码const a = [1, 2, 5, 3, 2, 7, 5]const arr = [...new Set(a)]console.log(arr) // [ 1, 2, 5, 3, 7 ]1.2 补充说明关于Set的用法,很多文章都有说,ES6的官方文档原创 2020-07-07 18:45:25 · 1174 阅读 · 0 评论 -
【学习笔记】JS类型转换整理
我们写JavaScript肯定会涉及到各种类型转换,有些类型转换简单易懂,但有些转换却会意想不到,甚至带来很多的麻烦。所以我这篇学习笔记旨在梳理一下这种转换,加强一下自己的理解,如文章中有不妥之处请帮忙指正。下面开始正文:类型...原创 2020-05-19 16:51:17 · 303 阅读 · 0 评论 -
JS引擎基础
推荐几篇讲JS引擎比较好的文章,由于内容过多,就不进行转载,直接放对应链接方便查看1.JavaScript engine fundamentals: Shapes and Inline Cacheshttps://mathiasbynens.be/notes/shapes-ics对应的中文文档链接:https://hijiangtao.github.io/2018/06/17/Shapes-...转载 2019-12-24 19:38:44 · 112 阅读 · 0 评论