Vue实现元素沿着坐标数组移动,超出窗口视图时页面跟随元素滚动 监听小船的boatMoveIndex属性,如果boatMoveIndex改变,则利用window.scrollBy()方法,把内容滚动到指定的像素数。
Parsing error: No Babel config file detected for xxx Either disable config file checking...报错解决方法 eslint根据eslint配置文件的parserOption,知道了要使用babel对代码进行解析,但是解析babel需要使用babel配置文件,由于找不到配置文件(babel配置文件默认需要放在根目录下),所以会报错。
对强缓存和协商缓存的理解 缓存是指代理服务器或客户端磁盘内保存的资源副本。利用缓存可减少对服务器的访问,因此也就节省了通信流量和通信时间。浏览器缓存是为了节约资源,并且可以加速浏览网站的速度,当用户第一次访问网页的时候,浏览器在用户磁盘上对请求的文档进行保存,当第二次访问的时候,就会从本地直接显示,从而提高了页面的访问速度。...
Vue响应式原理---双向绑定 一、Vue中的响应式Vue最独特的特性之一,是其非侵入行的响应式系统。数据模型仅仅是普通的JavaScript对象,而当修改它们时,视图会进行更新。二、响应式的基本原理—双向绑定双向绑定,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新,在单向绑定的基础上,如果用户更新了View,Model的数据也会自动更新。双向绑定由三个重要部分构成:数据层(Model):应用数据及业务逻辑视图层(View):应用的展示效果,各类UI组件业务逻辑层(V
理解JavaScript中的深拷贝与浅拷贝 一、基本类型与引用类型的区别1、基本类型与引用类型在存储上的区别现在只看栈区和堆区,也假定只是局部变量。函数test()被调用时:1、定义局部变量age,由于age是局部变量,所以在栈中申请内存空间,起名age,给age赋值为25,为基本类型,所以值直接存储在栈中。2、定义局部变量arr,arr是局部变量,在栈中申请空间,但是由于给arr赋的值不是基本类型,而是引用类型(new出来的),所以需要先在堆中申请空间存放数据18,23,99,再把堆中的地址赋给arr,所以在栈中arr里存方法的是指向
JavaScript判断数据类型的方式 JavaScript判断数据类型的方式js中的数据类型有哪些?基本数据类型:number、string、boolean、null、undefined、symbol以及未来ES10新增的BigInt(任意精度调整)。引用数据类型:对象Object、数组Array、函数Function判断数据类型的方法有哪些?最常见的判断方法:typeof已知对象类型:instanceof对象原型链判断方法:Object.prototype.toString.call()根据对象的构造器construct
【ES6】var, let, const var、let、const之间的区别一、var1、在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量(顶层对象,在浏览器环境指的是window对象)。var a = 10;console.log(window.a); // 102、使用var声明的变量存在变量提升的情况:console.log(a); // undefinedvar a = 20;// 在编译阶段,编译器会将其变成以下执行var a;console.log(a);a = 20
对宏任务和微任务的理解 对宏任务和微任务的理解一、JavaScript事件循环js任务分为同步任务和异步任务同步任务都在主线程上执行,形成一个执行栈主线程之外,事件触发线程管理着一个任务队列,只要异步任务有了运行结果,就在任务队列中放置一个事件一旦执行栈中的所有同步任务执行完毕(JS引擎空闲),系统就会读取任务队列,将可运行的异步任务添加到可执行栈中,开始执行当我们打开网站时,网页渲染过程就是一大堆同步任务。...
对Vue中nextTick的理解 Vue中nextTick一、nextTick是什么?官方定义:在下次DOM更新循环结束之后执行延迟回调。在修改数据之后立即执行这个方法,获取更新后的DOM。我们可以理解成Vue在更新DOM时是异步执行的。当数据发生改变时,Vue将开启一个异步更新队列,视图需要等所有数据改变完之后,再统一进行更新。当数据更新了,在DOM中渲染后,自动执行该函数。代码示例<template> <div class="app"> <div ref="msgDiv"&
关于script标签在HTML页面放置的位置 一般script标签会被放在头部或尾部,头部就是head标签里,尾部就是body里,也有放在body闭合标签之后。1、script标签放在head标签内部<head> <title>获取DOM元素</title> <script> var myElement = document.getElementById("atag"); console.log(myElement); </script&g
v-if与v-for v-if和v-for一、作用v-if指令用于条件性的渲染一块内容,这块内容只会在指令的表达式返回true值的时候被渲染。v-for指令是基于一个数组来渲染一个列表。v-for指令需要使用item in items形式的特殊语法,其中,items是源数据数组或对象,而item则是被迭代的数组元素的别名。在使用v-for的时候,可以设置key值,并且保证每个key值是独一无二的,这便于diff算法进行优化。两者在用法上:<div v-if="isShow"></div>&
蓝桥杯【基础练习】(一) 基础练习一、杨辉三角形题目描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入格式1 // 包含一个整数n样例输出11 11 2 11 3 3 1// n行的杨辉三角形代码import java.util.ArrayList;import java.util.List;impo
螺旋矩阵(二)题解 螺旋矩阵(二)分析:按层模拟可以将矩阵看成若干层,首先填入矩阵最外层元素,其次填入矩阵次外层的元素,直到填入矩阵最内层的元素。对于每层,从左上方开始以顺时针的顺序填入所有元素。假设当前层的左上角位于(top, left),右下角位于(bottom,right),按照如下顺序填入当前层的元素:从左到右填入上侧元素,依次为(top,left)到(top,right);从上到下填入右侧元素,依次为(top + 1,right)到(bottom,right);从右到左填入底部元素,依次为(bo
排序的循环链表题解 排序的循环链表题目描述给定循环单调非递减列表中的一个点,写一个函数向这个列表中插入一个新元素 insertVal ,使这个列表仍然是循环升序的。给定的可以是这个列表中任意一个顶点的指针,并不一定是这个列表中最小元素的指针。如果有多个满足条件的插入位置,可以选择任意一个位置插入新的值,插入后整个列表仍然保持有序。如果列表为空(给定的节点是 null),需要创建一个循环有序列表并返回这个节点。否则。请返回原先给定的节点。来源:力扣(LeetCode)链接:https://leetcode-cn.c
无重复字符的最长子串题解 无重复字符的最长子串用到的是双指针,滑动窗口,哈希表class Solution { public int lengthOfLongestSubstring(String s) { Map<Character, Integer> map = new HashMap<Character, Integer>(); int n = s.length(); int left = 0, maxLength = 0; // left为滑动窗口左指针,maxLength记录
左右两边子数组的和相等题解 左右两边子数组的和相等题目描述给你一个整数数组 nums ,请计算数组的 中心下标 。数组中心下标是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/tvdfij
蓝桥杯练习---成绩统计 蓝桥杯Java组练习—成绩统计题目描述小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。输入描述输入的第一行包含一个整数 n (1≤n≤10 4),表示考试人数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。输出描述输出两行,每行一个百分数,分别表示及格率和优秀率。百分