解釋下事件代理。
解釋下 JavaScript 中 this 是如何工作的。
解釋下原型繼承的原理。
你是如何測試JavaScript代碼的?
AMD vs. CommonJS?
什么是哈希表?
解釋下為什么接下來這段代碼不是 IIFE(立即調用的函數(shù)表達式):function foo(){ }();.
要做哪些改動使它變成 IIFE?
描述以下變量的區(qū)別:null,undefined 或 undeclared?
該如何檢測它們?
什么是閉包,如何使用它,為什么要使用它?
請舉出一個匿名函數(shù)的典型用例?
解釋 “JavaScript 模塊模式” 以及你在何時使用它。
如果有提到無污染的命名空間,可以考慮加分。
如果你的模塊沒有自己的命名空間會怎么樣?
你是如何組織自己的代碼?是使用模塊模式,還是使用經典繼承的方法?
請指出 JavaScript 宿主對象和原生對象的區(qū)別?
指出下列代碼的區(qū)別:
function Person(){}
var person = Person();
var person = new Person();
.call 和 .apply 的區(qū)別是什么?
請解釋 Function.prototype.bind 的作用?
你何時優(yōu)化自己的代碼?
你能解釋一下 JavaScript 中的繼承是如何工作的嗎?
在什么時候你會使用 document.write()?
大多數(shù)生成的廣告代碼依舊使用 document.write(),雖然這種用法會讓人很不爽。
請指出瀏覽器特性檢測,特性推斷和瀏覽器 UA 字符串嗅探的區(qū)別?
請盡可能詳盡的解釋 AJAX 的工作原理。
請解釋 JSONP 的工作原理,以及它為什么不是真正的 AJAX。
你使用過 JavaScript 模板系統(tǒng)嗎?
如有使用過,請談談你都使用過哪些庫,比如 Mustache.js,Handlebars 等等。
請解釋變量聲明提升。
請描述下事件冒泡機制。
"attribute" 和 "property" 的區(qū)別是什么?
為什么擴展 JavaScript 內置對象不是好的做法?
為什么擴展 JavaScript 內置對象是好的做法?
請指出 document load 和 document ready 兩個事件的區(qū)別。
== 和 === 有什么不同?
你如何從瀏覽器的 URL 中獲取查詢字符串參數(shù)。
請解釋一下 JavaScript 的同源策略。
請描述一下 JavaScript 的繼承模式。
如何實現(xiàn)下列代碼:
[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]
描述一種 JavaScript 中實現(xiàn) memoization(避免重復運算)的策略。
什么是三元表達式?“三元” 表示什么意思?
函數(shù)的參數(shù)元是什么?
什么是 "use strict"; ? 使用它的好處和壞處分別是什么?
相關導讀: