JavaScript面试题
1、解释下事件代理。
2、解释下 JavaScript 中 this 是如何工作的。
3、解释下原型继承的原理。
4、你是如何测试 JavaScript 代码的?
5、描述以下的区别:null,undefined ?该如何检测它们?
6、什么是闭包,如何使用它,为什么要使用它?
7、请举出一个匿名函数的典型用例?
8、解释 “JavaScript 模块模式” 以及你在何时使用它。
9、 你是如何组织自己的代码?是使用模块模式,还是使用经典继承的方法?
10 、请指出 JavaScript 宿主对象和原生对象的区别?
11、.call 和 .apply 的区别是什么?
12、请解释 Function.prototype.bind 的作用?
13、你何时优化自己的代码?
14、你能解释一下 JavaScript 中的继承是如何工作的吗?
15、在什么时候你会使用 document.write()?
请尽可能详尽的解释 AJAX 的工作原理。
16、请解释 JSONP 的工作原理,以及它为什么不是真正的 AJAX。
17、你使用过 JavaScript 模板系统吗?如有使用过,请谈谈你都使用过哪些库。
18、请解释变量声明提升。
19、请描述下事件冒泡机制。
20、"attribute" 和 "property" 的区别是什么?
21、为什么扩展 JavaScript 内置对象不是好的做法?
22、请指出 document load 和 document ready 两个事件的区别。
23、== 和 === 有什么不同?
24、你如何从浏览器的 URL 中获取查询字符串参数。
25、请解释一下 JavaScript 的同源策略
26、请描述一下 JavaScript 的继承模式。
27、描述一种 JavaScript 中实现 memoization(避免重复运算)的策略。
28、什么是三元表达式?“三元”表示什么意思?
29、函数的参数元是什么?
30、什么是 use strict; ? 使用它的好处和坏处分别是什么?