前端应该掌握的javascript知识

昨天偶然在拨赤的百度空间上看到一篇关于前端javascript面试题的文章,看过后已经接近睡觉的时间,但躺在床上的我却有些失眠了......

拨赤的那篇文章题目叫做招聘javascript程序员时应该问什么问题,大家可以选择去读它,或者继续听我在这里唠叨。

其实,这是stackoverflow上面的一个问答,回答者给了些题目,并且把这些题目分了类:

通用:

使用过类库吗? 最喜欢哪个? 为什么?自己有写过类库吗? 比如 DOM 的扩展。

有使用过服务端 JavaScript 框架吗?

ECMAScript 和 JavaScript 的区别是什么?

有用过 JavaScript 代码校验工具吗?

有读过或推荐的 JavaScirpt 书籍吗?

会为你的 JavaScript 代码写单元测试吗?

初/中级:

为什么基本上所有对象都有 toString 方法?

知道 Mozilla Firefox 用的是哪个解析器吗? 其他浏览器呢?

JavaScript 支持 lambda 函数吗?

你用过或写过的最有用的 JavaScript 函数是什么?

JavaScript 有块级作用域吗?

能解释下 Ajax/XMLHttpRequest 是如何工作的吗?

JavaScript 支持类继承吗?

能写一个用了 with 表达式的代码片段吗?

知道什么是 Greasemonkey 吗? 有用过吗?

你认为 innerHTML 是魔鬼吗?

什么是 JSON?

高级:

Can you give me an example of a generator?

JSONP 是如何工作的?

请举个单例模式的例子。

未定义和未声明之间有什么区别?

有用 Raphaël 或 Canvas 元素做过动画吗?

熟悉 Web Worker 吗?

做过 profiling 吗? 都有用过哪些工具?

有读过新的 ECMAScript 规范吗? 都有哪些新特性?

关于人:

谁最初写了 ECMAScript? 知道他在哪工作,以及他的 title 是什么吗?

写 jQuery 的那男孩叫什么?

谁写了 JSLint?

兼容性:

哪些浏览器支持标准的 addEventListener ?

哪些浏览器对于 getElementById 的实现有问题? 比如它会返回 name 属性一致的元素。

将这些问题从头到尾看了一遍,心中也给了自己的答案。有些知道,有些不知道,有些貌似知道,但又不全知道。有些知其一不知其二,有些一点儿都不懂,有些貌似知道,但实则不懂。就这样,我睡不着了。

还差得远呢,小白!下一个学习目标就是把这些问题逐一解决,拿出答案来!