
JavaScript
文章平均质量分 61
coder-lxy
这个作者很懒,什么都没留下…
展开
-
防抖节流
防抖节流认识防抖节流JavaScript是事件驱动的,大量的操作会触发事件,加入到事件队列中处理。而对于某些频繁的事件处理会造成性能的损耗,可以通过防抖和节流来限制事件频繁发生为什么需要防抖节流为什么需要防抖?举个例子:比如想要搜索一个MacBook:当输入m时,为了更好的用户体验,通常会出现对应的联想内容,这些联想内容通常是保存在服务器的,所以需要一次网络请求;当继续输入ma时,再次发送网络请求;那么macbook一共需要发送7次网络请求;这大大损耗我们整个系统的性能,无论是前端的事原创 2021-01-20 15:14:19 · 307 阅读 · 2 评论 -
JavaScript深浅拷贝
深浅拷贝什么是深浅拷贝?深浅拷贝是只针对Object和Array这样的引用数据类型的浅拷贝:只进行一层关系的拷贝,如果属性是基本类型,直接拷贝基本类型的值,如果属性值是内存地址,就拷贝这个地址,新旧对象公用一块内存深拷贝:进行无限层次的拷贝,会创造一个一摸一样的对象,不共享内存,修改对象不会互相影响为什么要进行深浅拷贝?let arr1 = arr2 = [1,2,3]let obj1 = obj2 = {a:1, b:2, c:3}arr1[0] = 2obj1.a = 2cons原创 2021-01-20 12:27:22 · 152 阅读 · 0 评论 -
改变this指向-call、apply、bind的内部实现
改变this指向-call、apply、bind的内部实现手写call // call 的内部实现 Function.prototype.myCall = function(context) { // 判断调用者是否为函数 if(typeof this !== 'function') { throw new TypeError('Error') } // 不传参默认为 window context = conte原创 2021-01-07 11:18:26 · 135 阅读 · 0 评论 -
JavaScript简单数据类型与复杂数据类型
1. 简单类型与复杂类型简单类型又叫做基本数据类型或者值类型,复杂数据类型又叫做引用类型值类型:在存储时变量中存储的是值本身,因此叫做值类型string , number , boolean , undefined , null// 简单数据类型 null var timer = null;console.log(typeof timer);// 返回的是一个空的对象//如果有个...原创 2020-04-01 12:03:34 · 356 阅读 · 0 评论 -
JavaScript常用内置对象
1. 内置对象JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象前面两种对象是JS基础内容,属于ECMAScript; 第三个浏览器对象属于JS独有的。内置对象就是JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的功能(属性和方法)内置对象最大的优点就是帮助我们快速开发JavaScript提供了多个内置对象:Math、 Date、Array、Strin...原创 2020-04-01 11:09:29 · 415 阅读 · 0 评论 -
JS 对象
JS 对象1.1 什么是对象?现实生活中:万物皆对象,对象是个具体的事物,看得见摸得着的实物。在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如 字符串、数值、数组、函数等对象是由属性和方法组成的。属性:事物的特征,在对象中用属性表示(常用名词)方法:事物的行为,在对象中用方法来表示(常用动词)1.2 为什么需要对象保存一个值时,可以使用变...原创 2020-03-29 17:06:48 · 105 阅读 · 0 评论 -
JS 执行机制——预解析
1.预解析JavaScript代码是由浏览器中的JavaScript解释器来执行的。JavaScript解析器在运行JavaScript代码的时候分两步:预解析和代码执行。预解析:js 引擎会把 js 里面所有的var还有function提升到当前作用域的最前面代码执行:按照代码书写的顺序从上往下执行1.1 变量预解析(变量提升)就是把所有的变量声明提升到当前的作用域最前面(不提升赋...原创 2020-03-29 15:52:08 · 243 阅读 · 0 评论 -
JavaScript作用域及作用域链
JavaScript作用域就是代码名字(变量) 在某个范围内起作用 目的是为了提高程序可靠性,更重要的是减少命名冲突。1 全局作用域整个script标签 或者是一个单独的js文件2 局部作用域在函数内部就是局部作用域,只在函数内部起效果和作用3 变量的作用域根据作用域的不同,变量分为全局变量和局部变量全局变量在全局作用域下的变量,在全局下都可以使用注意:如果函数内部没有声...原创 2020-03-29 14:45:21 · 170 阅读 · 0 评论 -
JavaScript如何新增数组元素
1 修改length长度var arr = ['red', 'green', 'blue'];console.log(arr.length);//3arr.length = 5;// 修改数组的长度为5console.log(arr);// ['red', 'green', 'blue',empty * 2]console.log(arr[3]); //undefinedconsole...原创 2020-03-29 14:42:40 · 228 阅读 · 0 评论 -
JavaScript 数据类型及其相互转换
1. 数据类型1.1 为什么需要数据类型在计算机中,不同的数据所占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。1.2 变量的数据类型变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。JavaScript是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序...原创 2020-03-25 18:08:04 · 298 阅读 · 0 评论 -
变量概述
1. 变量概述1.1 什么是变量变量是用于存放数据的容器。可以通过变量名获取数据和修改数据。1.2 变量在内存中的存储本质:变量是程序在内存中申请的一块用来存放数据的空间。1.3 变量的使用变量在使用时分为两步:1. 声明变量 2. 赋值声明变量// 声明变量var age;var是一个 JS 关键字,用来声明变量(variable变量的意思)。使用该关键字声明变量后,...原创 2020-03-25 16:01:50 · 324 阅读 · 0 评论 -
初识 JavaScript
1. 初识 JavaScript1.1 JavaScript 历史布兰登·艾奇(Brendan Eich,1962年~)布兰登·艾奇在1995年利用10天完成JavaScript设计。网景公司最初命名为LiveScript , 后来在与Sun合作的时候改名为JavaScript。1.2 JavaScript 是什么JavaScript是世界上最流行的语言之一,是一种运行在客户端的...原创 2020-03-25 15:42:28 · 140 阅读 · 0 评论