![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 62
fighting Ably!
这个作者很懒,什么都没留下…
展开
-
JavaScript_ES6中你需要牢记的那些事
1. let 声明变量let 声明变量与var类似,但略有不同1.1 let声明的变量只在当前let命令所在的代码块有效{ let myName = 'Ably'; var myAge = 22; console.log(myName) // Ably console.log(myAge) // 22}console.log(myName) // 报错 myName is not definedconsole.log(myAge) // 221.2 le转载 2022-03-16 14:19:20 · 147 阅读 · 0 评论 -
JavaScript_mock接口数据+ajax获取数据内容
最近在进行练习,设想场景,若在开发过程中,后端同学无法及时给到对应接口,前端同学如何自己mock数据并进行后续内容操作。以下是练习的demo:1. mock+node 造数据1.1 搭建环境新建mockserver文件夹npm init 初始化项目,生成package.json文件,并输入自己所需内容安装依赖 npm i express npm i mockjsnpm run start 运行接口服务器,确保接口可以被访问到package.json 文件内容:{ "name": "原创 2022-03-14 15:33:51 · 1184 阅读 · 1 评论 -
JavaScript——我眼中的Promise
最近做一个项目,需要对之前的同步代码进行修改,此时我发现,之前我面试时所谈及的promise在应用中一点也不懂,看文档自己写了一个demo,让我似乎明白了promise使用问题。1. 代码示例const promise1 = function (){ return new Promise((resolve, reject) => { let a = 0; setTimeout(() => { a = 111原创 2022-03-11 19:29:58 · 1079 阅读 · 0 评论 -
JavaScript——滑动翻页功能(缓慢移动+无缝衔接)
1. 需求+效果 展示最近做开发时有这样一个需求,滚动播放列表,数据有限,当这些数据滚动播放结束后再重头开始,做完之后的效果是这样的2. 实现代码(带标注)<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="原创 2021-07-28 11:30:46 · 3073 阅读 · 1 评论 -
前端问题-返回ArrayBuffer数据的图片如何处理成base64格式并显示在img标签的src中
1.发现问题在开发的过程中,当我们嗲用网络请求在network中看到返回的数据是一张图片,而控制台打印出来的却是一堆乱码形式,如下2. 解决问题2.1 axios返回数据类型从json修改为blob查看多篇文档,发现是axios默认返回的数据为json格式,无法准确解析中当前我们图片的格式,我们可以通过配置选项,将返回数据格式改为blob类型。 const resBlob = await axios.get(`courses/tejia/${this.$route.params.name}/原创 2021-07-12 18:02:28 · 1209 阅读 · 0 评论 -
JavaScript——不同类型数组去重(简单数组去重、对象数组去重)
1. 简单数组去重1.1 new Set() 去重MDN中对于Set的释义:Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。执行Set后返回的是一个Set结构,是类数组1.1.1 Array.from 将类数组转换成数组因为Set结构不是数组,我们可以通过Array.from()的形式将其转换成数组实例一: Set + Array.from去重let normalArr = [1,2,3,4,5,3,4,4,'a',原创 2021-07-07 17:59:59 · 1684 阅读 · 0 评论 -
JavaScript——那些年,让我们头疼的“闭包”
1.含义问:什么是闭包?答:由于在JavaScript函数中,只有函数内部的子函数才能读取局部变量,因此,可以把闭包简单理解为”函数内部的函数“。所以在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。问:闭包的用处?答:可以读取函数内部的变量,令这些变量始终保持在内存当中。2.使用实例一:闭包简要模型,理解闭包意义 // 在outside中定义一个变量a,值为888,我们想要在外部使用,正常方式无法使用,此时我们可以使用闭包的形式 // 在下面示例中,child函数就是闭原创 2021-06-17 22:22:21 · 60 阅读 · 0 评论 -
call,apply,bind改变this指向及实现原理
1.使用方法一个小例子,解释call,apply,bind的使用var value = '外面的值'function consoleLogVal(x,y){ console.log(this,"this指向") console.log(this.value) console.log(`x:${x},y:${y}`)}var callObj = { value:'callObj'}var bindObj = { value:'bindObj'}var转载 2021-06-17 18:51:27 · 653 阅读 · 0 评论 -
JavaScript——函数_P4闭包
4.闭包JavaScript变量属于本地或全局作用域。全局变量能够通过闭包实现局部(私有)。4.1 全局变量函数能够访问函数内部定义的所有变量和函数外部定义的变量。eg1:var a = 3;function fn(){ var b = 4; return a* b}该例中,a是全局变量网页中,全局变量属于window对象全局便能能够被页面中(以及窗口中)的所有脚本使用和修改b为局部变量局部变量只能用于其被定义的函数内部,对于其他函数和脚本代码来说它是不可见的。拥有相同转载 2020-12-29 13:50:41 · 94 阅读 · 0 评论 -
JavaScript——函数_P3Call/Apply
3.Call3.1 方法重用使用call()方法,您可以编写能够在不同对象上使用的方法。普通实例:var person = { firstName:"Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; }}person.fullName(); // 将返回 "Bill Gates"fullName属性是一个转载 2020-12-28 17:15:24 · 89 阅读 · 1 评论 -
JavaScript——函数_P2函数参数函数调用
2.函数参数2.1 函数参数eg:基本实例:function fn(param1,param2,param3){}函数参数(parameter)指的是在函数定义中列出的名称函数参数(argument)指的是传递到函数或由函数接收到的真实值2.2 参数规则JavaScript函数定义不会为参数(parameter)规定数据类型JavaScript函数不会对所传递的参数(argument)实行类型检查JavaScript函数不会检查所接收参数(argument)的数量如果参数传递小于定义转载 2020-12-28 16:29:29 · 142 阅读 · 0 评论 -
JavaScript——函数_P1函数定义
1.函数基础1.1 声明JavaScript函数是通过function关键词定义的,基本形式:function fn(){ // 操作}被声明的函数不会直接执行。它们被“保存供之后使用”,在函数被调用时才会执行1.2 函数表达式JavaScript函数也可以使用表达式来定义,函数表达式可以在变量中进行存储。let fn = function(a,b){ return a*b}在变量中保存函数表达式之后,此变量可用作函数let res = fn(1,2)1.3 Functio转载 2020-12-28 15:35:19 · 230 阅读 · 0 评论 -
Object.keys()/Object.values()/Object.entries,将对象转换成某种数组
Object.keys()1.用法Object.keys(参数)参数可以为对象,数组,字符串对象——返回可枚举属性的数组数组——返回索引数组字符串——返回索引数组2.举例返回可枚举属性组成的数组。 eg1:操作对象 let myself={ name:'ting', age:18, hobby:'basketball' }; Object.key...原创 2020-01-16 13:45:38 · 750 阅读 · 0 评论 -
ES2016到ES2021一路走来
ES20161.Array.prototype.includes()如果数组包含某个元素,则该方法返回true,否则将返回false。let arr=[1,2,3,4,5,6];arr.includes(1); //truearr.includes(7); //falseincludes()结合fromIndexincludes(),也可以用索引来搜索元素。默认值为0,即从...转载 2020-07-08 08:44:35 · 612 阅读 · 0 评论 -
我理解的什么是闭包?
1.变量作用域:指的是一个变量所作用的范围,作用域的存在为了提高程序的可靠性,可以减少命名冲突1.1 全局作用域全局作用域在页面打开时被创建,页面关闭时被销毁1.2 函数作用域函数内部,调用函数时,函数作用域被创建,函数执行完毕,函数作用域被销毁。2.作用域链当我们在执行某段代码的时候,发现其中一个变量并没有在这个函数中,此时我们就可以逐次在祖先作用域中查找,如果有,则使用这个变量的值,如果没有则返回 xx is not defined;3.闭包由作用域链我们可知,子元素是可以访问父元素中原创 2020-08-27 08:39:48 · 97 阅读 · 0 评论 -
JavaScript——数组中你需要了解的那些知识
一、数组介绍1 基础介绍1.JavaScript数组用于在单一变量中存储多个值,并且可以通过索引来访问这些值。eg: let colors = ['red','green','pink']; 2.数组是一种特殊类型的对象,在JavaScript中对数组使用typeof运算符会返回“object”,但是JavaScript数组最好以数组来描述。数组使用数字下标来访问其中的元素,对象使用键名来访问其中的成员。3.数组元素可以是对象。JavaScript变量可以是对象,数组是特殊类型的对象,正因如此,原创 2020-08-30 15:49:27 · 206 阅读 · 0 评论