面试准备
文章平均质量分 88
张小嫿
安之若素 勿忘心安
展开
-
JavaScript基础(10)— 常用方法(ing)
推荐ES6相关链接:1.5万字概括ES6全部特性ES6、ES7、ES8特性一锅炖(ES6、ES7、ES8学习指南)1、var/let/const(1)var/let 用来声明变量,var只有全局作用域和函数作用域的概念,没有块级作用域的概念;let只有会计作用于的概念由{ }包起来,if语句和for语句里面的{ }也属于块级作用域。众所周知,var声明变量,存在变量提升,那么let究竟是否存在变量提升呢?实际上let声明的变量是存在变量提升的,但是由于【暂时性死区(temporal dea原创 2021-02-18 17:59:23 · 138 阅读 · 0 评论 -
JavaScript基础(6)— 事件机制/Event Loop(事件循环)
计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。线程和进程的关系:进程相当于工厂里的车间,代表CPU所能处理的单个任务,线程相当于车间里的工人,一个进程可以包括多个线程。图文解释链接:进程与线程的一个简单解释进程线程一个进程的内存空间是共享的每个线程都可以使用这些共享内存工厂的资源系统分配的内存(独立的一块内存)工厂之间的相互独立进程之间相互独立多个工人协作完成任务多个线程在进程中协作完成任务工厂内有一个或多个工人一个进程原创 2021-01-21 18:32:30 · 275 阅读 · 1 评论 -
JavaScript基础(5)— 深浅拷贝
1、js中的变量数据类型可分为两种类型:基本类型和引用类型。基本类型值指的是简单的数据段:number、string、Boolean、null、undefined、symbol引用类型值指那些可能由多个值构成的对象:Object2、在将一个值赋值给变量时,解析器必须先确定这个值是基本类型值还是引用类型值。基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值。引用类型的值是保存在内存中的对象,与其他的语言不通,js不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间,在操作对原创 2021-01-04 18:35:11 · 117 阅读 · 0 评论 -
JavaScript基础(4)— Promise
先抛出一个问题:问:js为什么不设计为多线程的语言呢?答: 因为js是可以操作DOM的,如果js设计为多线程的语言,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时候浏览器该以哪个线程为准呢?为了利用多喝CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个县城,但是子线程完全受主线程控制,且不得操作DOM,所以新表真并没有改变js单线程的本质。很多时候,我们在加载图片或接口时候,接口的耗时难免会造成页面的阻塞,因此就要考虑到异步加载了,原创 2021-01-04 16:03:41 · 148 阅读 · 0 评论 -
JavaScript基础(3)— 原型/继承
1.区分普通对象/函数对象通过new Function() 创建的对象都是函数对象,其他的均为普通对象,其中包括 Function 实例的实例。Function.__proto__ === Function.prototype//truefunction fun1(){};const fun2 = function(){};const fun3 = new Function('name','console.log(name)');const obj1 = {};const obj2 = n原创 2021-01-04 13:45:37 · 99 阅读 · 0 评论 -
JavaScript基础(2)— this/call/apply/bind
this运行期绑定的特性原创 2020-12-02 15:35:32 · 126 阅读 · 0 评论 -
JavaScript基础(1)— 执行上下文/作用域链/闭包
执行上下文概念当前JavaScript代码被解析和执行时所在的环境。(代码运行的地方)执行上下文的类型全局执行上下文:全局对象(浏览器中的window),只有一个,this指向全局对象;函数执行上下文:调用函数时都会创建一个函数上下文,可以有无数个;Eval函数执行上下文:执行eval函数中的代码会有自己的执行上下文。*** 拓展:Eval函数:eval(string); 计算某个字符串,并执行其中的JavaScript代码。执行栈 :用于存储所有的执行上下文,具有LIFO(..原创 2020-11-16 15:14:25 · 185 阅读 · 0 评论