- 博客(41)
- 收藏
- 关注
原创 使用工具 NVM来管理不同版本的 Node.js启动vue项目
https://img-blog.csdnimg.cn/img_convert/a7b426f027554ddcbce196b962043da2.png
2023-12-14 12:47:02
922
原创 elementUI+echarts 雷达图动态渲染数据
<template> <div class="dashboard-container"> <el-tabs v-model="editableTabsValue" type="card" @tab-click="tabclick"> <el-tab-pane :key="item.businessType" v-for="item in editableTabs" :label="busines
2022-04-06 23:06:38
1135
1
原创 api树结构
<template> <div class="sortDiv"> <el-button type="primary" @click="openDialog">新建一级</el-button> <el-tree :data="sortData" draggable node-key="id" ref="sortTree" default-expand-all :expand-on-click-node="false" :render-c
2021-11-03 22:55:00
304
原创 网络中使用最多的图片格式有哪些?
<template> <div class="sortDiv"> <el-button type="primary" @click="openDialog">新建一级</el-button> <el-tree :data="sortData" draggable node-key="id" ref="sortTree" default-expand-all :expand-on-click-node="false" :render-c
2021-11-02 22:57:09
212
原创 JavaScript 面试题(二十六)如何实现统计字符串中字母个数?
let str1 = 'aaabbbccdddd'; function getCount(str) { let obj = {} for (var n of str) { if (obj[n]) { obj[n]++ } else { obj[n] = 1 } } return obj } .
2021-08-28 17:56:50
345
原创 JavaScript 面试题(二十四)函数节流和事件防抖?
函数节流:函数调用不要太频繁。如每隔多少毫秒调用一次。使用场景:页面滚动时,会一直触发 scroll 事件,为了函数节流,只要页面一滚动,就启动一个定时器,在无数次滚动中,如果定时器没有停,则不调用函数。如果定时器停了,则在指定毫秒数之后调用一次函数,然后重新启动一个定时器。<script> let i = 0; let timer = null; window.onscroll = function () { if (timer) {
2021-08-28 15:24:23
149
原创 JavaScript 面试题(二十二)闭包和作用域的区别?
作用域当前的执行上下文。值和表达式在其可见或者说可以被访问到的上下文。当一个变量或者其他表达式不在当前作用域中,那么它是不可用的。作用域可以根据代码层次分层,子作用域可以访问到父作用域,通常是通过链式的作用域链查找。而父作用域是引用不到子作用域里的变量和引用。闭包一个函数对其周围状态的引用捆绑,这个组合就是闭包(或者说被引用包围)。闭包里内层函数可以访问到外层函数的作用域。这点是通过作用域链实现的。值得一提的是,一个 Function 可以生成一个闭包,通常返回的是一个函数引用。这个函数引用从外部作
2021-08-28 13:11:51
407
原创 JavaScript 面试题(二十一)闭包,什么情况下会使用闭包?
闭包定义一个函数对其周围状态的引用捆绑在一起,这样的组合就是闭包(或者说,函数被引用包围)。闭包可以让你在一个内层函数中可以访问到外层函数的作用域。function fnOut() { var name = '张三' function fnIn() { alert(name) } fnIn() } fnOut()function fnOut() { var name = '李四
2021-08-28 11:55:32
2470
原创 JavaScript 面试题(二十)延时器
按照设定时间,延迟执行程序,且只执行一次。语法:setTimeout(函数,延迟的时间)第一个参数,函数形式,定义要执行的程序第二个参数,延迟的时间,单位是毫秒。
2021-08-27 01:37:14
193
原创 JavaScript 面试题(十九)同一个数组,同样的限制条件,map、find、filter 返回值有什么区别?
相同点:这三种方法都不会改变原数组。不同点:1.map 返回的是一个新数组,新数组中的元素是原始数组中的元素调用函数后处理后的值。2.find 返回的是第一个符合条件的数组元素,返回的不是数组。3.filter 返回的是一个新数组,新数组中的元素是符合原始数组中符合筛选条件的数组元素。...
2021-08-27 01:14:27
331
原创 JavaScript 面试题(十八)JavaScript 如何创建数组?JavaScript 数组有哪些方法?
JavaScript 创建数组的方法有两种:1.字面量创建法:let arr1 = [1,2,3]2.构造函数类创建:let arr2 = new Array(1,2,3)JavaScript 数组的方法有:unshift()头增shift()头删push()尾增pop()尾删splice()数组截取join()数组转字符串indexOf()返回数组元素下标length()获取数组长度Set()数组去重Map()对数组的每个元素做处理,参数是回调函数,没有返回值。forEach(
2021-08-27 01:07:10
319
原创 JavaScript 面试题(十七)数组去重的方法?使用 for 循环 + indexOf()、ES6 新增 Set() 方法进行数组去重。
<script>// 方法一 数组循环+indexOf方法let arr = [1,2,2,3,3,4]let newArr = [];for(let i = 0; i < arr.length; i++){ if(newArr.indexOf(arr[i])==-1){ newArr.push(arr[i]) }}console.log(newArr);// 方法二 ES6 Sat方法function noRepeat(arr){
2021-08-27 00:33:40
205
原创 JavaScript 面试题(十六)Promise 是什么?Promise 都有哪几种状态?
Promise 是异步编程的解决方案,从语法上讲,Promise 是一个对象,可以获取异步操作的信息。Promise 的作用:1.解决回调地狱问题;2.Promise 提供了简洁的 API,使得控制异步操作更加容易。Promise 的三种状态:1.pending 代表正在请求;2.resolved 代表成功;3.rejected 代表失败。Promise 基础用法:new Promise(function(resolve,reject){})...
2021-08-27 00:15:19
386
原创 JavaScript 面试题(十五)深拷贝和浅拷贝的区别?如何实现深拷贝?
深拷贝和浅拷贝都是出现在引用类型数据中的说法。浅拷贝只拷贝一层,更复杂层级的对象拷贝的是地址。深拷贝拷贝多层,每一层的数据都会被拷贝。封装一个函数,实现深拷贝 // 被拷贝对象 let obj = { name:'zhangsan', age:12, hobby:{ play:'game', listen:'music' } } // 封装一个深拷贝函数 fu
2021-08-27 00:14:37
349
原创 JavaScript 面试题(十四)Ajax 的步骤和封装 Ajax 中的 200 和 4 分别是什么意思?
Ajax步骤get请求1.创建 Ajax 核心对象 XMLHttpRequest2.设置请求参数3.连接服务器4.发送请求post请求1.创建 Ajax 核心对象 XMLHttpRequest2.请求地址3.设置请求参数4.连接服务器5.发送请求200表示发送请求成功4表示响应成功...
2021-08-27 00:13:06
263
原创 JavaScript 面试题(十三)作用域和作用域链是什么?
作用域作用域就是变量起作用的区域,或者说,js 代码执行时,查找变量的范围。作用域链当js编译器在寻找变量时,采用就近原则,先在最近的作用域里查找变量,如果没有找到,则在上一级作用域中查找,以此类推,直到找到或找不到为止。这就是作用域。...
2021-08-26 20:57:28
204
原创 JavaScript 面试题(十二)原型和原型链是什么?
原型:每个对象都有一个原型对象,这个原型对象由对象的内置属性proto指向它的构造函数的prototype指向的对象。即任何对象都是由构造函数创建,被创建的对象继承了构造函数的prototype属性。这个构造函数就是原型。原型链:当访问一个对象的某个属性时,会首先在这个对象本身的属性上查找,如果没有找到,则在它的proto隐式原型上查找,即它的构造函数的prototype。如果还没有找到,就去它的构造函数的prototype对象的proto隐式原型上查找,这样一层一层向上查就会形成一个链式结构,我们称
2021-08-26 20:40:01
565
原创 JavaScript 面试题(十一)箭头函数有什么作用(和普通函数的区别)?简要描述一下ES6中的箭头函数及其使用场景。
箭头函数表达式的语法比函数表达式更简洁。并且没有自己的this。箭头函数更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。箭头函数的作用:1.箭头函数的语法比函数表达式更简洁。2.箭头函数可以解决this指向问题。箭头函数不会创建自己的this,它只会从自己的作用域链向上一层继承this。箭头函数的使用场景:1.简单的函数表达式,内部没有this引用,没有递归,事件绑定,解绑定。2.需要调用this,且this指向和上一层作用域链保持一致时。如保证指向vue实例对象。...
2021-08-26 20:14:50
1990
原创 JavaScript 面试题(十)普通函数和箭头函数的区别是什么?
1.普通函数和箭头函数写法不同2.箭头函数内部没有this,但箭头函数具有穿透性,箭头函数可以访问到上下文中的this,所以this的指向不同。4.箭头函数不能作为构造函数使用5.箭头函数不具有prototype原型对象6.箭头函数没有super方法...
2021-08-26 19:43:11
521
原创 JavaScript 面试题(九)call、apply、bind 区别?
相同点:call()、apply()、bind()都是用来改变 this 指向的。不同点:call()、apply()方法将父类构造函数中的属性和方法通过改变 this 指向,将它的属性和方法供子类构造函数使用。apply()方法第二个参数是数组。call()方法第二个参数是把apply()方法第二个参数数组中的每一项单列出来。call()、apply()方法不会产生新的函数,只是在调用时绑定一下。bind()方法生成一个新的函数,需要被调用才能够将 this 指向改变。...
2021-08-26 19:33:46
220
原创 JavaScript 面试题(八)JavaScript 中 this 的指向,箭头函数 this?
普通函数内部,this指向window对象事件函数内部,this指向事件源构造函数内部,this指向实例化的对象函数作为类的方法,this指的是调用此方法的对象。箭头函数内部没有this,但箭头函数有穿透性,所以this在箭头函数的上下文中出现。...
2021-08-26 13:07:46
170
原创 JavaScript 面试题(七)for 循环里 let 换成 var 会发生什么?
for 循环体内的计数器 i ,如果使用 let 声明,在循环体外使用计数器 i,会报错。如果使用 var 声明,在循环体外使用计数器 i,不会报错。这是因为 let 声明的变量仅在其所在的块级作用域内有效。var 声明的变量 i,在全局范围内都有效,所以全局只有一个变量 i。每一次循环,变量 i 的值都会发生改变,而循环内函数内部的中的 i 指向全局的 i。也就是说,所有函数内部的 i 指向的都是同一个 i,导致运行时输出的是最后一轮的 i 值。如果使用let,声明的变量仅在块级作用域内有效,当前的 i
2021-08-26 12:19:49
326
原创 JavaScript 面试题(六)const 变量绑定一个函数或数组,那他可以变吗?为什么?什么原理?const 定义一个数组,改变下标为 0 的值,会报错吗?
不可以。const 声明一个只读的常量。一旦声明,常量的值就不能改变。const实际上保证的并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。对于简单类型的数据(数值、字符串、布尔值)而言,值就保存在变量指向的内存地址中,因此等同于常量。但对于复合类型的数据(主要是对象和数组)而言,变量指向的内存地址保存的只是一个指针,const只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,这完全不能控制。因此,改变数组下标为 0 的值,不会报错。...
2021-08-26 11:42:38
799
原创 JavaScript 面试题(五)let、const、var 的区别?
相同点:let、const、var 都是用来声明变量的。不同点:1.(变量提升)var 命令会发生变量提升现象,即变量在声明之前可以使用,值为undefined。let、const不存在变量提升。只能在声明后使用,否则会报错。2.(块级作用域)let、const声明的变量只在其所在的代码块内有效。只要在块级作用域内存在 let 声明的变量,它所声明的变量就会绑定这个区域,不再受外部影响。3.(暂时性死区)如果区块中存在let和const命令,那么在声明变量之前,这些变量都不可用,这在语法上被称为暂
2021-08-26 01:12:19
208
原创 JavaScript 面试题(四)JavaScript 中 == 和 === 区别是什么?
== 和 === 都是用来比较两个值是否相等。相等运算符比较两个不同类型的值时,会尝试做一些类型转换,然后再比较。恒等运算符比较两个操作数时,不会进行类型转换。如果比较的两个值类型不同时,那么它们就不相等。...
2021-08-26 00:06:27
170
原创 JavaScript 面试题(三)null 和 undefined 的区别?
Undefined 类型只有一个值,就是特殊值 undefined。当使用 var 或 let 声明了变量但没有初始化时,就相当于给变量赋予了 undefined 值。Null 类型同样只有一个值,就是特殊值 null。逻辑上讲,null 值表示一个空对象指针。如果未来要定义的变量是一个对象,而当时又没有对象可保存,此时就可以使用 null 来对变量进行初始化。表示这个对象目前还没有存储地址。...
2021-08-25 23:41:06
376
原创 JavaScript 面试题(二)JavaScript 里基本数据类型与引用数据类型有哪些?它们的区别是什么?
基本数据类型:Number、String、Boolean、Undefined、Null、Symbol。引用数据类型:统称为 Object 类型。细分的话,有 Object 类型、Array 类型、Date 类型、RegExp 类型、Function 类型。基本数据类型和引用数据类型的区别:从内存角度来说,基本数据类型在内存中占据一块空间,空间里存储的就是数据。获取数据是直接获取。引用数据类型在内存中占据两块空间,第一块空间存储的是地址,第二块空间存储的是数据。获取数据是间接获取。从赋值角度来说,基本
2021-08-25 23:16:24
454
原创 进程与线程
进程什么是进程(what?)工具栏-右键-任务管理器-进程-运行着很多软件,这些就是进程。写了一个程序,有一个软件要在计算机里运行,那么软件在哪里运行,需要有一个位置。进程相当于一个仓库,相当于一个工厂的车间。**进程负责为程序的运行提供必备的环境。**一段代码需要运行,必须要存在一个位置。这个位置就是进程。线程什么是进程(what?)线程是计算机中的最小的计算单位,线程负责执行进程中的程序。线程是工厂中的工人,是干活的。进程中的程序表示有很多程序被挂起,但没有全部执行。cpu有数值时,表示进程
2021-08-25 11:23:25
113
原创 1.命令行窗口(小黑屏)、CMD窗口、终端、shell、DOS窗口
1.命令行窗口(小黑屏)、CMD窗口、终端、shell、DOS窗口运行:-开始-运行-cmd-回车有什么用?以纯文本形式操作系统当前所在目录c:常用指令dir 列出当前目录下所有文件desk按tab自动补全cd 目录名 进入到指定目录md 目录名 创建一个文件夹rd 目录名 删除一个文件夹直接输入文件hello.txt直接打开hello.txt盘:想进入d盘就输入d:目录.表示当前目录…表示上一级目录希望在任何位置都能用hello.txt不需要每次进入指定文件夹环境变量wi
2021-08-25 10:58:05
969
原创 vue面试题
VUE面试题(带数字,带序号)1、v-show 与 v-if 有什么区别?相同点:v-show和 v-if都是 控制 dom元素 的 显示和隐藏 的。不同点:1、原理: v-show是通过控制元素的样式属性display的值,来完成显示和隐藏; v-if是通过对dom元素的添加和删除,完成显示和隐藏 2、使用场景:由原理(做法)得出使用场景的区别 v-show:使用在dom元素频繁切换的场景 v
2021-08-23 13:59:57
749
原创 JavaScript 面试题(一)setTimeout 的第 2 个参数是 0
setTimeout()方法用来实现一个函数在指定的毫秒数之后运行。如果以 0 毫秒的超时时间来调用setTimeout(),那么指定的函数不会立刻执行。相反,会把它放到队列中。等到前面处于等待状态的事件处理程序全部执行完成后,再“立即”调用它。...
2021-08-22 18:45:55
248
1
原创 vue 事件修饰符 stop、stop.self、self.stop
@click.stop 阻止事件流继续传播,自身的点击事件仍然执行。@click.stop.self 自身的点击阻止,也阻止了事件流继续传播。@click.self.stop 只阻止自身的点击事件,事件流继续传播。
2021-08-07 17:39:33
550
原创 v-on 点击事件
语法:v-on:click=‘函数名’v-on:click='changeColor'method:{ changeColor(){ // 函数体 }}
2021-08-07 17:33:31
136
原创 v-for 语法易错点
v-for 循环数组1.v-for 后的写法错误写法:v-for(book in booklist)正确写法:v-for = 'book in booklist'2.book 代表的含义循环 booklist 数组时,定义了一个名为 book 的变量,每次循环都将数组中的每个元素依次赋值给 book 变量。所以使用 v-for 后的结果时,插值表达式 {{}}内的值应该写 book这个变量。变量是不需要带双引号的。3.v-for 后如果需要获取下标 index,则需要传入两个参数,两个参数的写法
2021-08-05 16:32:18
857
原创 AJAX 教程
AJAX 教程AJAXAJAX = Asynchronous JavaSciprt and XML (异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。什么是 AJAX?AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于快速创建动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载这
2021-07-06 20:13:41
76
原创 JavaScript 测试题 (2021-6-21)
3 秒后图片消失,应该使用哪个方法?<html> <head> <meta charset="utf-8"> <title></title> </head> <body> <img src="images/桌面1.png" > </body> <script type="text/javascript"> var oImg = document.queryS.
2021-06-21 21:29:41
1382
原创 JavaScript 测试题(2021-6-18)
如何快速的将数组arr清空?arr.length=[0]Math.ceil(-3.14)的结果是?-3Math.floor(-3.14) 的结果是?-4对象可以通过哪种方式进行对象属性的遍历?forEach()var arr = [3,6,8,9]; var res = arr.slice(1,3); console.log(res)?6,8实现数组的倒序方法?reverse()将小写转为大写的方法是?str.toUpperCase();js中获取当前星期,用哪个方法?getDay()va.
2021-06-18 19:35:38
2322
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人