- 博客(36)
- 收藏
- 关注
原创 CSS隐藏元素的属性有哪些?
需要注意的是,这些属性的使用都有其适用的场景和注意事项。例如,如果使用 display: none;隐藏一个元素,那么该元素将不会被渲染,也不会被屏幕阅读器识别,因此在使用时需要注意可访问性问题。在 HTML 和 CSS 中,隐藏元素的属性有多种。:将元素移动到屏幕外面,不占据任何空间。:将元素变为透明状态,但仍占据空间。:将元素完全隐藏,不占据任何空间。:将元素隐藏,但仍占据空间。
2023-03-28 15:10:59
634
原创 felx:1 是哪些属性的缩写,对应的属性代表什么含义?
表示项目可以放大,也可以缩小,并且在分配多余空间之前,它将占据尽可能少的空间。这是一道高频面试、笔试题目。
2023-03-28 15:04:56
738
原创 一分钟了解“BFC“
例如,当一个元素被设置为BFC时,它的子元素将不会溢出到其父元素之外,而是会在BFC中进行布局。当一个元素被设置为BFC时,它将形成一个独立的渲染区域,与其他元素的布局相互隔离。例如,当一个浮动元素与一个非浮动元素发生重叠时,可以将非浮动元素设置为BFC,以避免这种重叠问题。”,是Web页面中的一种CSS渲染机制。每个HTML元素都存在于一个特定的BFC中,该BFC决定了元素如何对其周围的元素进行布局和相互作用。总之,BFC是Web页面布局中一个非常重要的概念,对于解决一些常见的布局问题非常有帮助。
2023-03-28 14:51:53
177
原创 React JSX 条件渲染 注意点
在 JSX 使用条件渲染时,需要注意一点,即,条件判断表达式必须总是布尔值因为有一些“falsy”值,比如数字 0 ,仍然会被React渲染。例如,以下代码并不会像你预期那样工作,因为当 props.messages 是空数组时,0 仍然会被渲染:<div> { props.messages.length && <MessageList messages={props.messages} /> }</div>要解决这个问题.
2022-05-31 15:46:16
415
原创 ES6的Proxy比ES5的Object.defineProperty好在哪里
Proxy可以直接监听对象而非属性Proxy直接可以劫持整个对象,并返回一个新对象,不管是操作便利程度还是底层功能上都远强于Object.defineProperty。Proxy可以直接监听数组的变化Proxy有多达13种拦截方法,不限于apply、ownKeys、deleteProperty、has等是Object.defineProperty不具备的。想要深入了解Proxy,可以阅读阮一峰老师的“ECMAScript 6 入门”想要深入了解Object.defineProperty,可以阅读.
2022-05-30 23:33:04
260
原创 HTML5自定义属性 data-
HTML5规定可以为元素添加非标准的属性,但是要添加前缀data-,目的是为元素提供与渲染无关的信息,或者提供语义信息。这些信息可以任意添加,随便命名。例子const div = document.getElementById('myDiv');const myName = div.dataset.mayName; // 取得值div.dataset.myName = 'charlie'; // 设置值...
2022-05-09 21:58:33
565
原创 javascript重新加载页面 location.reload()
调用lcation.reload()方法时需要注意,如果不加参数,有可能从缓存中加载,如果想确保从服务器重新加载,可以这样用:location.reload(true);位于reload()调用之后的代码可能会执行也可能不会执行,这要取决于网络延迟或系统资源等因素,因此,最好将reload()放在代码的最后一行。...
2022-05-06 23:07:24
1747
原创 JS深拷贝
深拷贝遍历function deepClone(startObj,endObj){ let obj = endObj || {}; for(let i in startObj){ if(typeof startObj[i] === 'object'){ // 判断是数组还是对象 obj[i] = Array.isArray(startObj[i]) ? [] : {}; deepClone(sta
2022-04-21 22:48:21
96
原创 【JS*知识*arguments】
函数内部属性之arguments1.arguments是函数内部的一个特殊对象,如果在控制台中打印,可以看到其原型上的constructor为Object;2.arguments是一个类数组,因为它可以使用数组的方括号语法来访问函数参数;3.主要用途是保存函数参数,它包含着传入函数中的所有参数。例如一个函数传入了2个参数,那么arguments[0]就是第一个参数;4.argument对象有一个重要的属性,叫callee,是一个指针,指向拥有这个arguments对象的函数经典例子funct
2022-04-20 23:06:16
116
原创 【JS*算法*全排列】
全排列题目:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。const permutation = s => { if (s.length === 0) return ['']; // 递归出口 if (s.length === 1) return [s]; const res = []; const len = s.length; for (let i = 0; i < len; i
2022-04-20 21:07:48
242
原创 【JS算法*简单】两数之和
两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]思路一、暴力枚举
2022-04-14 20:24:34
287
原创 antd 菜单收缩时二级菜单不跟随收缩
网上的方法大多是改为不受控组件,但是很多项目中openKeys是要求为受控组件的,贸然改为不受控组件会影响到其他组件。所以这里介绍一个非常简单实用的技巧。 <Menu mode={"inline"} openKeys={collapsed ? [] : this.state.openKeys} selectedKeys={[selectedKeys]} onClick={selectedKeyChange} onOpenChange={t
2021-09-27 18:05:46
1385
1
原创 webstorm显示“因此在此系统中禁止执行脚本”的解决方法.
以管理员身份运行vscode;执行:get-ExecutionPolicy,显示Restricted,表示状态是禁止的;执行:set-ExecutionPolicy RemoteSigned;这时再执行get-ExecutionPolicy,就显示RemoteSigned;如图:
2021-09-27 13:48:02
1449
原创 css实现播放效果
今天有个需求,需要找一个播放效果的动图,找了很久要么需要付费,要么不怎么好看,就自己用css动画写了一个。<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>语音播放特效</title> <style type="text/css"> #playing{ float: left; po
2021-09-24 15:58:09
710
转载 Python中将字典转换为列表的方法
Python中将字典转换为列表的方法说明:列表不可以转换为字典①转换后的列表为无序列表②转换后的列表为有序列表
2021-04-14 16:23:21
3338
原创 理解浅拷贝和深拷贝
浅拷贝浅拷贝只能拷贝对象里面的一层,不能拷贝对象里面更深层次的属性和属性值。例如:var oldObj = { id: 1, name: 'charlie', msg: { age: 18 } }对于oldObj对象,浅拷贝只能拷贝oldObj.id,oldObj.name,而不能拷贝更深层次的数据oldObj.msg.age浅拷贝复制的其实是内存地址,复
2020-11-30 23:58:37
110
原创 理解call()、apply()、bind()方法
函数内this指向问题这些 this 的指向,是当我们调用函数的时候确定的。 调用方式的不同决定了this 的指向不同一般指向我们的调用者.JavaScript 为我们专门提供了一些函数方法来帮我们更优雅的处理函数内部 this 的指向问题,常用的有 bind()、call()、apply() 三种方法。call()方法可以调用函数可以改变函数内部this指向可以实现继承用法:fun.call(thisArg, arg1, arg2, ...) thisArg:在 fun 函数
2020-11-29 20:35:32
181
原创 构造函数、对象实例、原型对象三者之间的关系
构造函数构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new 一起使用。一般情况下我们会把公共的属性定义到构造函数里面,而公共的方法放到原型对象身上。在 JS 中,使用构造函数时要注意以下两点:1.构造函数用于创建某一类对象,其首字母要大写2.构造函数要和 new 一起使用才有意义new 在执行时会做四件事情①在内存中创建一个新的空对象。②让 this 指向这个新的对象。③执行构造函数里面的代码,给这个新对象添加属性和方法。④返回这个新对象(所以构造函数里面不需要
2020-11-29 18:46:55
2156
2
原创 css实现多行文字垂直居中
flex方法<div class="father"> <div class="children"> <span>多行文字垂直居中</span> <span>多行文字垂直居中</span> <span>多行文字垂直居中</span> <span>多行文字垂直居中</span>
2020-11-29 00:17:35
552
原创 javaScript垃圾回收机制
javaScript垃圾回收机制原理垃圾收集器会按照固定的时间间隔找出不再继续使用的变量,释放其占用的内存。标记清除这是javaScript最常用的垃圾收集方式。当变量进入环境时,将其标记为“进入环境”,当变量离开环境时将其标记为“离开环境”。垃圾收集器在运行时会给存储在内存中的所有变量都加上标记。然后,它会去掉环境中的变量以及被环境中的变量引用的变量的标记。而在此之后再被加上标记的变量将被视为准备删除的变量,原因是环境中的变量已经无法再访问到这些变量了。最后,垃圾收集器完成内存清除工作。引用计数
2020-11-29 00:04:51
180
原创 对闭包的理解
对闭包的理解闭包定义闭包是指有权访问另一个函数作用域的变量的函数。----《javaScript高级程序设计》闭包的主要作用延伸了变量的作用范围。闭包的应用利用闭包的方式获取索引号<ul> <li>我的索引为0</li> <li>我的索引为1</li> <li>我的索引为2</li> <li>我的索引为3</li>
2020-11-28 22:58:45
147
原创 浏览器性能优化
浏览器性能优化1.减少http请求,合理设置http缓存2.应用浏览器缓存3.启用压缩4.使用css雪碧图(精灵图)css sprites5.图片懒加载,路由懒加载6.css放在头部,js放在底部
2020-11-27 23:50:47
129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人