巩固基础CSS知识点
文中篇概念性的内容也蛮多,小编一如既往的做了分割线,记忆力好的童鞋请自行忽略。
1.🤨标准的CSS盒子模型及其和低版本的IE盒子模型的区别?标准(W3C)盒子模型:width = 内容宽度(content) + border + padding + margin
低版本IE盒子模型: width = 内容宽度(content + border + padding)+ margin
图片展示:
区别: 标准盒子模型盒子的height和width是content(内容)的宽高,而IE盒子模型盒子的宽高则包括content+padding+border部分。
2.几种解决IE6存在的bug的方法
由float引起的双边距的问题,使用display解决;
由float引起的3像素问题,使用display: inline -3px;
使用正确的书写顺序link visited hover active,解决超链接hover点击失效问题;
对于IE 的z-index问题,通过给父元素增加position: relative解决;
使用!important解决Min-he ...
路由原理
安装指定路由版本1npm install react-router-dom@6
vue-router中router和route的区别router是路由实例对象,包含一些路由跳转方法,比如push。
route是路由信息对象,包含和路由相关的一些信息,比如params,location等。
程序员面试金典
1、判定字符是否唯一2、判定是否互为字符重排
跨域及其原理
跨域及其原理前后端数据交互经常会碰到请求跨域,什么是跨域,以及有哪几种跨域方式,这是本文要探讨的内容。
同源策略是Web安全的重要组成部分,它通过限制不同源之间的交互来防止潜在的恶意操作。开发者需要了解同源策略的工作原理,以便在需要进行跨源请求时采取适当的策略来解决。
什么是跨域?1.什么是同源策略及其限制内容?同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。所谓同源是指”协议+域名+端口”三者相同,即便两个不同的域名指向同一个ip地址,也非同源。
同源策略限制内容有:
Cookie、LocalStorage、IndexedDB 等存储性内容
DOM 节点
AJAX 请求发送后,结果被浏览器拦截了
但是有三个标签是允许跨域加载资源:
<img src=XXX>
<link href=XXX>
<script src=XXX>
2.常见跨域场景当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。
特别说明两点:
第一:如果是协 ...
JavaScript数组常用方法总结
JavaScript常用的数组方法的总结本文主要介绍常用的数组方法、字符串方法、遍历方法、高阶函数、正则表达式以及相关数学知识。
文章主要包含以下内容:
数组常用方法
字符串常用方法
常用遍历方法&高阶函数
常用正则表达式
数学知识
一、数组常用方法1.push()在尾部追加,类似于压栈,原数组会改变。
123const arr = [1, 2, 3]arr.push(8);console.log(arr) // [1, 2, 3, 8]
2.pop()在尾部弹出,类似于出栈,原数组会变。数组的 push & pop 可以模拟常见数据结构之一:栈。
12345678910111213const arr = [1, 2, 3]const popVal = arr.pop()console.log(popVal) // 3console.log(arr) // [1, 2]// 数组模拟常见数据结构之一:栈const stack = [0, 1]stack.push(2) // 压栈console.log(stack) // [0, 1, 2]const popV ...
深入理解ES6
1、let,constlet: 引入了块级作用域的变量声明,相比于var的函数作用域或全局作用域,let提供了更细粒度的作用域控制。const: 用于声明常量,一旦赋值后不能更改。和let一样,const也是块级作用域。
2、箭头函数const str=’string’;
const str1=String(‘string’)
const str2=new String(‘string’)
3、模板字符串…
4、默认参数调用没有提供值,使用默认值
5、解构赋值解构赋值是ES6的一个非常有用的特性,它允许你从数组或对象中提取值,然后将这些值赋给变量,使得数据访问更加方便。下面是一些使用解构赋值的例子:
1.从对象解构:123456789101112const person = { name: 'John Doe', age: 30, location: 'New York'};// 从对象中解构并赋值给新变量const { name, age } = perso ...
Vue3的组合式API详解
文档地址:API 参考 | Vue.js (vuejs.org)Vue3 组合式 API(Composition API) 主要用于在大型组件中提高代码逻辑的可复用性。传统的组件随着业务复杂度越来越高,代码量会不断的加大,整个代码逻辑都不易阅读和理解。Vue3 使用组合式 API 的代码地方为 setup。
在 setup 中,可以按逻辑关注点对部分代码进行分组,然后提取逻辑片段并与其他组件共享代码。因此,组合式 API(Composition API)允许我们编写更有条理的代码。
vue3 API主要包含以下六个部分:
全局API —— 全局会用到的API
组合式API —— vue3所拥有的组合式API
选项式API —— vue2所拥有的选项式API
内置内容 —— 指令、组件、特殊元素和特殊属性
单文件组件 —— 语法定义
进阶API —— 渲染函数、服务端渲染、TS工具类型和自定义渲染
全局APIVue3的全局API包含两个部分:应用实例和通用API。
应用实例
通用API
组合式APIsetup
响应式:核心
响应式:工具函数![]222222
响应式:进阶![222 ...
hexo创建博客
hexo部署博客的命令Create a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
CSS布局之Grid
CSS Grid 网格布局教程一、概述网格布局(Grid)是最强大的 CSS 布局方案。
它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了。
上图这样的布局,就是 Grid 布局的拿手好戏。
Grid 布局与 Flex 布局有一定的相似性,都可以指定容器内部多个项目的位置。但是,它们也存在重大区别。
Flex 布局是轴线布局,只能指定”项目”针对轴线的位置,可以看作是一维布局。Grid 布局则是将容器划分成”行”和”列”,产生单元格,然后指定”项目所在”的单元格,可以看作是二维布局。Grid 布局远比 Flex 布局强大。
二、基本概念学习 Grid 布局之前,需要了解一些基本概念。
2.1 容器和项目采用网格布局的区域,称为”容器”(container)。容器内部采用网格定位的子元素,称为”项目”(item)。
12345<div><div><p>1</p></div><div><p>2</p>< ...
leetcode 100
链表反转链表11
反转区间链表22
合并链表33
合并 k 个链表44
k个一组翻转链表给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。
k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。
你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。
解题思想
分组反转:
通过遍历链表,将链表分成若干长度为 k 的小段。
对每一小段进行反转操作。
反转后的小段重新链接到整体链表上。
辅助哑节点:
引入一个哑节点(dummy node),它的 next 指向链表的头节点。这使得在处理头节点的反转时可以避免特殊处理,简化了代码的逻辑。
双指针技巧:
使用两个指针 pre 和 end 来标记需要反转的小段的起始和结束位置。
pre 用于标记当前小段的前一个节点。
end 用于遍历到当前小段的结束节点。
反转操作:
通过辅助函数 reverse 实现对从节点 a 到节点 b 之间的部分链表的反转。
反转后,将这部分链表重新连接到原链表上。
链表遍历和反转:
遍历链表,每次找到 k 个 ...