取自:https://github.com/yangshun/front-end-interview-handbook/blob/master/Translations/Chinese/questions/javascript-questions.md
以下问题仅仅用于抽查助记。
-
请解释事件委托(event delegation)。
-
请简述JavaScript中的this。
-
请解释原型继承(prototypal inheritance)的工作原理。
-
说说你对 AMD 和 CommonJS 的了解。
-
IIFE
-
null、undefined和未声明变量之间有什么区别?如何检查判断这些状态值?
-
什么是闭包(closure),为什么使用闭包?
-
请说明.forEach循环和.map()循环的主要区别,它们分别在什么情况下使用?
-
匿名函数的典型应用场景是什么?
-
你如何组织自己的代码?(使用模块模式(module pattern)还是经典继承(classical inheritance)?)
-
宿主对象(host objects)和原生对象(native objects)的区别是什么?
-
下列语句有什么区别:function Person(){}、var person = Person()和var person = new Person()?
-
.call和.apply有什么区别?
-
请说明Function.prototype.bind的用法。
-
什么时候会用到document.write()?
-
功能检测(feature detection)、功能推断(feature inference)和使用 UA 字符串之间有什么区别?
-
请尽可能详细地解释 Ajax。
-
使用Ajax的优缺点分别是什么?
-
请说明 JSONP 的工作原理,它为什么不是真正的 Ajax?
-
你使用过 JavaScript 模板吗?用过什么相关的库?
-
请解释变量提升(hosting)。
-
请描述事件冒泡。
-
“attribute” 和 “property” 之间有什么区别?
-
为什么扩展 JavaScript 内置对象是不好的做法?
-
document 中的load事件和DOMContentLoaded事件之间的区别是什么?
-
==和===的区别是什么?
-
请解释关于 JavaScript 的同源策略。
-
请使下面的语句生效:
-
请说明三元表达式中“三元”这个词代表什么?
-
什么是”use strict”;?使用它有什么优缺点?
-
创建一个循环,从1迭代到100,3的倍数时输出 “fizz”,5的倍数时输出 “buzz”,同时为3和5的倍数时输出 “fizzbuzz”。
-
为什么不要使用全局作用域?
-
为什么要使用load事件?这个事件有什么缺点吗?你知道一些代替方案吗,为什么使用它们?
-
请解释单页应用是什么,如何使其对SEO友好。
-
你对 Promises 及其 polyfill 的掌握程度如何?
-
Promise代替回调函数有什么优缺点?
-
用转译成 JavaScript 的语言写 JavaScript 有什么优缺点?
-
你使用什么工具和技巧调试 JavaScript 代码?
-
你使用什么语句遍历对象的属性和数组的元素?
-
请解释可变对象和不可变对象之间的区别。
-
请解释同步和异步函数之间的区别。
-
什么是事件循环?调用堆栈和任务队列之间有什么区别?
-
请解释function foo() {}和var foo = function() {}之间foo的用法上的区别。
-
使用let、var和const创建变量有什么区别?
-
ES6 的类和 ES5 的构造函数有什么区别?
-
你能给出一个使用箭头函数的例子吗,箭头函数与其他函数有什么不同?
-
在构造函数中使用箭头函数有什么好处?
-
高阶函数(higher-order)的定义是什么?
-
请给出一个解构(destructuring)对象或数组的例子。
-
ES6 的模板字符串为生成字符串提供了很大的灵活性,你可以举个例子吗?
-
你能举出一个柯里化函数(curry function)的例子吗?它有哪些好处?
-
使用扩展运算符(spread)的好处是什么,它与使用剩余参数语句(rest)有什么区别?
-
如何在文件之间共用代码?
-
什么情况下会用到静态类成员?
0 条评论