零散知识点

零散知识点
1.解决子元素float布局,父元素高度塌陷 (布局)
(1)父元素设置固定盖度
(2)子元素后追加一个空的div,设置清除浮动,clear:both
(3)父元素设置overflow: hidden;
overflow:hidden表示隐藏溢出,当内容超过其父元素时,可以使用该属性和值将溢出的部分裁剪掉,使页面更加美观。当子元素浮动时,父元素会增加高度去包裹住子元素,这个高度是跟随子元素自适应的高度。
(4)::after 伪类;
.son::after {
content:"";
clear:both;/清除浮动/
display:block;/确保该元素是一个块级元素/
}

2.伪类(css)
伪类表示通一个元素的不同状态样式变化。
比如想表示一个超连接,访问后,划过的不同样式,就可以使用伪类
超链接的四种状态
a标签有4种伪类(即对应四种状态),要求背诵。如下:

:link “链接”:超链接点击之前
:visited “访问过的”:链接被访问过之后
:hover “悬停”:鼠标放到标签上的时候
:active “激活”: 鼠标点击标签,但是不松手时。

PS,在css中,这四种状态必须按照固定的顺序写:

a:link 、a:visited 、a:hover 、a:active
伪类的语法:
selector:pseudo-class {property:value;}

a:link{
color:red;
}
a:visited{
color:orange;
}
a:hover{
color:green;
}
a:active{
color:black;
}
3.opacity: 0、visibility: hidden、display: none 三者有什么区别。(css)
1 opacity=0,该元素隐藏起来了,但不会改变页面布局,并且,如果该元素已经绑定一些事件,如click事件,那么点击该区域,也能触发点击事件的
2 visibility=hidden,该元素隐藏起来了,但不会改变页面布局,但是不会触发该元素已经绑定的事件
3 display=none,把元素隐藏起来,并且会改变页面布局,可以理解成在页面中把该元素删除掉一样

渲染: 这里所说的渲染其实指的回流,那什么是回流呢,回流就是当元素发生了会影响布局上变化的时候,页面需要重新构建,就会触发回流,重新渲染页面。
重绘: 通俗的说,就是元素发生了不影响布局结构的样式变化时,只是元素自身的外观发生了变化,就会触发重绘,比如改变color、background-color等等。
PS:display=none会回流重绘,opacity=0和visibility=hidden只会重绘
4.回流和重绘
只是太复杂可以详见网址
https://www.cnblogs.com/qcloud1001/p/10265985.html
5.如何类型判断(js)
(1)typeof 判断
typeof ‘seymoe’ // ‘string’
typeof true // ‘boolean’
typeof 10 // ‘number’
typeof Symbol() // ‘symbol’
typeof null // ‘object’ 无法判定是否为 null
typeof undefined // ‘undefined’

typeof {} // ‘object’
typeof [] // ‘object’
typeof(() => {}) // ‘function’
无法判断 null 对象,数组,返回object
(2)instanceof
instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。

6.数组去重(算法)
let arrs=[1,2,3,4,5,6,7,8,9,9,9,9,]
let setarr=new Set(arrs)
Arrery.form(setarr)
es6的set对象可以一个类数组对象或者可遍历对象转换成一个真正的数组。
1、该类数组对象必须具有length属性,用于指定数组的长度。如果没有length属性,那么转换后的数组是一个空数组。
2、该类数组对象的属性名必须为数值型或字符串型的数字
ps: 该类数组对象的属性名可以加引号,也可以不加引号
let arrayLike = {
0: ‘tom’,
1: ‘65’,
2: ‘男’,
3: [‘jane’,‘john’,‘Mary’],
‘length’: 4
}
let arr = Array.from(arrayLike)
console.log(arr) // [‘tom’,‘65’,‘男’,[‘jane’,‘john’,‘Mary’]]
Array.from(arrayLike[, mapFunction[, thisArg]])
arrayLike:必传参数,想要转换成数组的伪数组对象或可迭代对象。
mapFunction:可选参数,mapFunction(item,index){…}是在集合中的每个项目上调用的函数。返回的值将插入到新集合中。也就是说Array.from(obj, mapFn, thisArg)就相当于Array.from(obj).map(mapFn, thisArg)
thisArg:可选参数,执行回调函数mapFunction时 this 对象。这个参数很少使用。
Array.from还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。如下
let arr = [12,45,97,9797,564,134,45642]
let set = new Set(arr)
console.log(Array.from(set, item => item + 1)) // [ 13, 46, 98, 9798, 565, 135, 45643 ]
3、将字符串转换为数组:
let str = ‘hello world!’;
console.log(Array.from(str)) // [“h”, “e”, “l”, “l”, “o”, " ", “w”, “o”, “r”, “l”, “d”, “!”]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值