文章目录
记录一些零碎的知识点
CSS 有哪些样式可以给子元素继承
- 可继承的:
font-size
,font-weight
,line-height
,color
,cursor
等 。 - 不可继承的一般是会改变盒子模型的:
display
,margin
、border
、padding
、height
等。
box-sizing 常用的属性有哪些? 分别有啥作用?
这个 css 主要是改变盒子模型的大小。有两个值:content-box
(标准模型),border-box
(怪异模型)
1 | <style> |
说说样式权重的优先级;
!important
> 行内样式
> id
> class
> tag
对数组 [‘2018-03-05’, ‘2013-06-12’,’2019-03-12’,’2018-03-05’,’2014-02-22’] 去重且排序
1 | //很好理解, Set 具有值唯一性(但不是所有值,等会我抛出我的另外一篇文章) |
对数组[1,2,3,4,5,’6’,7,’8’,’a’,’b’,’z’]进行乱序
1 | // 我们依旧可以用上面的 sort 的原理实现乱序 |
求[1, 10, 11, -1,’-5’,12, 13, 14, 15, 2, 3, 4, 7, 8, 9]内最大值与最小值之差
1 | // 来一个很粗糙的版本,只当传入是数组且可以隐性转为数字的 |
JS 的作用域是什么?有什么特别之处么
作用域就是有它自身的上下文区域(比如函数内),内部会有变量声明提升,函数声明提升这些;
函数声明提升优于变量声明提升..
作用域有全局作用域和块级作用域(局部,比如用 let 或者单纯花括号的);
作用域会影响 this 的指向
作用域链
当访问一个变量时,解释器会首先在当前作用域查找标示符,如果没有找到,就去父作用域找,直到找到该变量的标示符或者不在父作用域中,这就是作用域链
作用域链和原型继承查找时的区别:如果去查找一个普通对象的属性,但是在当前对象和其原型中都找不到时,会返回 undefined;但查找的属性在作用域链中不存在的话就会抛出 ReferenceError。
作用域链的顶端是全局对象,在全局环境中定义的变量就会绑定到全局对象中。
javascript 里面的继承怎么实现,如何避免原型链上面的对象共享
- ES5:寄生组合式继承:通过借用构造函数来继承属性和原型链来实现子继承父。
1 | function ParentClass(name) { |
- ES6: 其实就是 ES5 的语法糖,不过可读性很强
1 | class ParentClass { |
渲染海量数据且给每条内容添加监听事件
现在浏览器提供了requestAnimationFrame
API 来解决非常耗时的代码段对渲染阻塞问题。
1 | ;(() => { |
vue 中 watch 和计算属性的区别
- 计算属性是自动监听依赖值的变化,从而动态返回内容,监听到值变化时,可以出发一次回调,并做一些事情,若是仅需要动态值就使用计算属性
- 需要知道值改变后执行业务逻辑,才用 watch
为什么通常在发送数据买点请求的时候使用的是 1*1 像素的透明 gif 图片。
- 没有跨域问题,一般这种数据上报,代码要写通用的
- 不会阻塞页面加载,影响用户体验,只要 new image 对象就好了
- 在所有图片中,体积最小
- 相比 XMLHttpRequest 对象发送 GET 请求,性能上更好。
另外该脚本的位置一般放在页面最后以免阻塞页面渲染,并且一般情况下也不需要 append 到 DOM 中。通过它的 onerror 和 onload 事件来检测发送状态
1 | var thisPage = location.href |
input 搜索如何防抖,如何处理中文输入
1 | // 这个是用来获取当前时间戳的 |
有兼容问题
DNS 预解析
DNS 解析也是需要时间的,可以通过与解析的方式来蔚县获得域名所对应的 IP<link rel="dns-prefetch" href="//yuchengkai.cn" />