资讯专栏INFORMATION COLUMN

面试记录2

qpal / 3569人阅读

摘要:面试记录的原理,和进程相关进程和线程的关系进程和线程的区别选择器的优先级不同级别行内样式选择器类选择器标签通配符继承浏览器默认属性相同级别后面覆盖前面的闭包相关闭包的作用在函数外部读取函数内部局部变量在函数外部读取函数内部局部变量,变量被封

面试记录2 1. Ajax的原理,和进程相关 2. 进程和线程的关系

进程和线程的区别

3. css选择器的优先级

不同级别

!important > 行内样式>ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性

相同级别

后面覆盖前面的

4. 闭包相关

闭包的作用:

在函数外部读取函数内部局部变量;

在函数外部读取函数内部局部变量,变量被封装到局部作用域,只提供接口获取该变量,就像传统oop的私有变量,公有方法一样,这样可以避免污染全局变量;

让这些值始终保存在内存中。

使用场景

由于setTimeout方法不能传递参数,可以用闭包来解决

</>复制代码

  1. function func(param) {
  2. return function() {
  3. alert(param);
  4. }
  5. }
  6. var f = func(1)
  7. setTimeout(f, 1000);

节流函数

</>复制代码

  1. function debounce(func, delay) {
  2. let timer;
  3. //该函数是一个闭包,所以timer会一直存在于内存中,并且timer只能在函数内部访问
  4. return function (...args) {
  5. if (timer) {
  6. clearTimeout(timer);
  7. }
  8. timer = window.setTimeout(() => {
  9. func.apply(this, args);
  10. }, delay);
  11. }
  12. }
5. html5新特性

Canvas Api

Geolocation Api

Websocket Api

Form Api

Storage Api

离线应用

6. 垂直居中

垂直居中
用弹性盒子实现水平垂直居中

</>复制代码

  1. 我是通过flex的水平垂直居中噢!
  2. html,body{
  3. width: 100%;
  4. height: 200px;
  5. }
  6. .parent {
  7. display:flex;
  8. align-items: center;/*垂直居中*/
  9. justify-content: center;/*水平居中*/
  10. width:100%;
  11. height:100%;
  12. background-color:red;
  13. }
  14. .children {
  15. background-color:blue;
  16. }
7. Promise

两个作用

避免回调地狱

为了我们的代码更加具有可读性和可维护性,我们需要将数据请求与数据处理明确的区分开来

8. alert(1&&2) alert(1||2)

</>复制代码

  1. alert(1 && 2) //2 括号里面先计算,var a = 1 && 2; alert(a)
  2. alert(1 || 2) //1 括号里面先计算,var a = 1 || 2; alert(a)
9. display: none 和 visibility:hidden

</>复制代码

  1. display:none //隐藏元素,不占据文档流
  2. visibility:hidden //隐藏元素,不占据文档流
10. 对象先会先找自身的属性,然后再去找原型上的属性

</>复制代码

  1. function C1(name) {
  2. if (name) this.name = name;
  3. };
  4. C1.prototype.name = "weilei";
  5. console.log(new C1().name); // weilei
  6. function C2(name) {
  7. this.name = name;
  8. };
  9. C2.prototype.name = "weilei";
  10. console.log(new C2().name); // undefined
  11. function C3(name) {
  12. this.name = name || "sam";
  13. };
  14. C3.prototype.name = "weilei";
  15. console.log(new C3().name); // sam
11. mouseover和mouseenter区别

唯一的区别是 onmouseenter 事件不支持冒泡

12. js改变html的title

</>复制代码

  1. document.title = "xxx"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/112675.html

相关文章

  • 面试被虐】如何只用2GB内存从20亿,40亿,80亿个整数中找到出现次数最多的数?

    摘要:这几天小秋去面试了,不过最近小秋学习了不少和位算法相关文章,例如面试现场如何判断一个数是否在亿个整数中算法技巧位运算装逼指南对于算法题还是有点信心的,,,,于是,发现了如下对话。这几天小秋去面试了,不过最近小秋学习了不少和位算法相关文章,例如 【面试现场】如何判断一个数是否在40亿个整数中? 【算法技巧】位运算装逼指南 对于算法题还是有点信心的,,,,于是,发现了如下对话。 20亿级别 面试...

    468122151 评论0 收藏0
  • 记录一下自己找“python爬虫工程师实习生”岗位的经历(2018年9月11号)

    摘要:今天是年月号,是我实习的第二天,记录一下找工作的历程,本来准备昨晚写的,但是第一天来实习,有点累了,就早点睡了,早上醒了,洗漱一下就来写这篇文章了。 showImg(https://hqx.oss-cn-beijing.aliyuncs.com/image/beautiful/pexels-photo-428320.jpeg?x-oss-process=style/jixn); 今天是...

    call_me_R 评论0 收藏0
  • PHP面试MySQL数据库的面试

    摘要:自己整理了一篇什么是数据库三级封锁协议的文章,关注公众号琉忆编程库,回复锁,我发给你。以下内容部分来自程序员面试笔试宝典和程序员面试笔试真题解析如需转载请注明出处。 你好,是我琉忆,PHP程序员面试笔试系列图书的作者。 本周(2019.3.4至3.8)的一三五更新的文章如下: 周一:PHP面试MySQL数据库的基础知识周三:PHP面试MySQL数据库的索引周五:PHP面试MySQL数...

    awokezhou 评论0 收藏0
  • 记录一次 “跟谁学”面试的经历

    摘要:年真的难,投简历有门槛,面试也不一定过,本人在写这篇文章的时候还是离职状态,年工作经验以上才是香饽饽,像我们这种高不成低不就的,应届生都不如 跟谁学一共三层,开发好像就一层,外面看感觉有点拥挤,面试地点在走廊伤的桌子,在外面还好没有感到太压抑,填完表之后,让我做了个自我介绍并且说了一下之前做过的项目,当时我在想,不来个笔试题考一下数据结构和算法吗,后来想想就算了,他问着我说着,问过的大...

    李义 评论0 收藏0

发表评论

0条评论

qpal

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<