首页 > 400个最常见的 JavaScript 面试问答(9)
头像
海拥
编辑于 08-16 14:19
+ 关注

400个最常见的 JavaScript 面试问答(9) 已认证

本文正在参与【[ 面霸养成记 ] 】 征文活动,一起来聊聊校招的那些事吧,牛客周边和百元京东卡等你来领~

写在前面的

大家好,我是 海拥 ,专注于前端知识的分享。今天将给大家带来的是 400 个最常见的 JavaScript 面试问答第九部分。接下来我会持续更新(争取日更,也可能每周3-5篇),每小节大概 10 道题左右,总共会有 400 多道。

大家一定要记得点赞收藏呀,关注我的牛客账号 海拥 ,并且三连(点赞+收藏+评论)本篇文章,私信我可免费领取一本计算机相关书籍哦。

编号 问题
1-10 400个最常见的 JavaScript 面试问答(1)
11-20 400个最常见的 JavaScript 面试问答(2)
21-30 400个最常见的 JavaScript 面试问答(3)
31 什么是Service Worker?
32 如何使用 Service Worker 操作 DOM?
33 如何在 Service Worker 重新启动时重用信息?
34 什么是 IndexedDB?
35 什么是 web storage?
36 什么是 post message?
37 什么是 Cookie ?
38 为什么需要 Cookie ?
39 cookie 中有哪些选项 ?
40 你如何删除cookie ?
41 cookie、本地存储和会话存储有什么区别 ?
42 localStorage 和 sessionStorage 的主要区别是什么?
43 你如何访问web 存储?
44 会话存储有哪些可用的方法?
45 什么是存储事件及其事件处理程序?
46 为什么需要web 存储?
47 你如何检查 Web 存储浏览器支持?
48 你如何检查web workers浏览器支持?
49 举个 web worker 的例子
50 web worker 对 DOM 的限制是什么?
51 什么是promise?
52 为什么需要promise?
53 promise的三种状态是什么?
54 什么是回调函数?
55 为什么我们需要回调?
56 什么是回调地狱?
57 什么是服务器发送事件?
58 你如何接收服务器发送的事件通知?
59 你如何检查浏览器对服务器发送事件的支持?
60 服务器发送的事件有哪些可用的事件?
61 promise的主要规则是什么?
62 回调中的回调是什么?
63 什么是 promise chaining?
64 什么是 promise.all?
65 promise 中 race 方法的目的是什么?
66 什么是 javascript 中的严格模式?
67 为什么需要严格模式?
68 如何声明严格模式?
69 双感叹号的目的是什么?
70 删除运算符的目的是什么?
71 什么是typeof运算符?
72 什么是未定义属性?
73 什么是空值?
74 null 和 undefined 有什么区别?
75 什么是eval?
76 Window和Document有什么区别?
77 你如何在 javascript 中访问历史记录?
78 你如何检测大写锁定键是否打开?
79 什么是isNaN?
80 未声明变量和未定义变量有什么区别?
81 什么是全局变量?
82 全局变量有什么问题?
83 什么是 NaN 属性?
84 isFinite 函数的目的是什么?
85 什么是event flow(事件流)?
86 什么是event bubbling(事件冒泡)?
87 什么是event capturing(事件捕获)?
88 你如何使用 JavaScript 提交表单?
89 你如何找到操作系统详细信息?
90 document load 和 DOMContentLoaded 事件有什么区别?

81.什么是全局变量?

全局变量是那些在整个代码长度内都可用的变量,没有任何作用域。var 关键字用于声明局部变量,但如果省略它,它将成为全局变量

msg = "Hello" // var 缺失,它成为全局变量

⬆ 返回顶部


82.全局变量有什么问题?

全局变量的问题是局部作用域和全局作用域的变量名冲突。调试和测试依赖全局变量的代码也很困难。

⬆ 返回顶部


83.什么是 NaN 属性?

NaN 属性是一个全局属性,表示“非数字”值。即,它表示一个值不是一个合法的数字。在程序中很少使用 NaN,但在少数情况下可以用作返回值

Math.sqrt(-1)
parseInt("Hello")

⬆ 返回顶部


84.isFinite 函数的目的是什么?

isFinite() 函数用于确定一个数是否是一个有限的合法数。如果值为 +infinity、-infinity 或 NaN(非数字),则返回 false,否则返回 true。

isFinite(Infinity);  // false
isFinite(NaN);       // false
isFinite(-Infinity); // false
isFinite(100);         // true

⬆ 返回顶部


85.什么是 event flow(事件流)?

事件流是在网页上接收事件的顺序。当您单击嵌套在各种其他元素中的元素时,在你的单击实际到达其目的地或目标元素之前,它必须首先触发其每个父元素的单击事件,从全局窗口对象的顶部开始。

事件流有两种方式

  • 从上到下(事件捕获)
  • 从下到上(事件冒泡)

⬆ 返回顶部


86.什么是 event bubbling(事件冒泡)?

事件冒泡是一种事件传播,其中事件首先在最内层的目标元素上触发,然后在同一嵌套层次结构中的目标元素的祖先(父级)上依次触发,直到到达最外层的 DOM 元素。

⬆ 返回顶部


87.什么是event capturing(事件捕获)?

事件捕获是一种事件传播,其中事件首先被最外层元素捕获,然后在同一嵌套层次结构中的目标元素的后代(子级)上连续触发,直到它到达最内层 DOM 元素。

⬆ 返回顶部


88.如何使用 JavaScript 提交表单?

你可以使用 JavaScript 提交表单,使用 document.form[0].submit()。使用 onsubmit 事件处理程序提交所有表单输入的信息

function submit() {
    document.form[0].submit();
}

⬆ 返回顶部


89.如何找到操作系统详细信息?

window.navigator 对象包含有关访问者浏览器操作系统详细信息的信息。一些操作系统属性在平台属性下可用,

console.log(navigator.platform);

⬆ 返回顶部


90.document load 和 DOMContentLoaded 事件有什么区别?

DOMContentLoaded当初始 HTML 文档完全加载并解析完毕,无需等待资产(样式表、图像和子框架)完成加载时,将触发该事件。而当整个页面加载时会触发 load 事件,包括所有依赖资源(样式表、图像)。

⬆ 返回顶部


最后,不要忘了❤或📑支持一下哦,你的支持是海海更新的动力!关注我后面会持续分享面试经验 & 前端相关的专业知识。

🎁粉丝福利

1.关注我的牛客账号 海拥 ,并且三连(点赞+收藏+评论)本篇文章,私信我可免费领取一本计算机相关书籍哦。
2.老粉经常三连的话送两本或者多本书也不是不行。
统计名单:https://fj3xsec7hk.feishu.cn/sheets/shtcnUQX3yxkYjO6gkU3puOpVhe?from=from_copylink

最后祝大家都能找到满意的实习和 offer!

全部评论

(17) 回帖
加载中...
话题 回帖

近期精华帖

热门推荐