一、關於類型轉換: null * 5 = ?
解:答案爲0,由於運算時,其實是js引擎要進行以下操做Number(null) * 5 = 0 * 5 = 0,就像這樣[] == ![]也是成立的。javascript
二、-13 >> 2 = ?
解:答案爲-4,這是有符號的位運算問題,太坑了,反正就算看幾遍,不經常使用仍是會忘,這裏就不解釋了。html
三、 a標籤的target有哪些?
解:_blank,_parent,_top,_self(注意,要知道分別什麼做用)。java
四、[1,2,3,4,5,6,7].slice(-3,-1)的結果?
解:這是一道非主流的題目,實際上這裏的負值指的是從右向左,因此結果應該是[5,6](太奇葩的用法了,不過應該有必定的實用價值) 。算法
五、html頁面中的主要的轉義字符?
解: 小於號:<;大於號>;空格: ;等等。(話說,誰會去記這個,不過咋看來仍是挺好記得)。設計模式
六、怎麼將一個字符串"a_b_c"反轉過來(填空題)?
解:碰到如此問題,不少人想到的就是用算法,但是人家這是填空題啊,一條槓給你添耶,你怎麼弄?仍是一句話解決吧——不會!開個玩笑,真正的解決方案是:[].slice.call("a_b_c",0).reverse().join("")。 意思是,先用數組的方法將字符串轉換爲真數組,再將這個數組反轉,反轉以後拼接成字符串便可。數組
七、建立一個類,而且這個類擁有本身的私有、公有屬性和方法。
解:懶得寫代碼了,JS怎麼真正的讓一個對象具備私有成員,方法只有一個——閉包 !閉包
八、js的sort方法用的什麼設計模式,sort底層用的是什麼算法?
解:策略模式,冒泡排序(哥當時寫的是交換排序,他直接給了一個叉,我表示很迷茫——冒泡排序、快速排序不是交換排序?) spa
九、void(0)返回值是什麼?
解:undefined(我擦,誰記這個?瘋了?自己void這個關鍵字在js裏面就被列爲糟粕,詳情請看《javascript語言精粹》)。設計
十、 typeof (null)結果是什麼?
解:"object"(奇葩的題目,看你我的喜不喜歡沒事玩console了,某些高人稱之爲「常識」)。htm
十一、 js的四種基本數據類型?解:嚴格意義上來講,js是弱類型,基本上任何玩意兒都能稱爲對象,非要說數據的類型,應該是:字符串,數值,布爾值,空值。(之因此這麼認爲,是由於js是在賦值的時候,自動說明其數據類型,也就是說,弱類型並非指不分數據類型了。咱們看到它們之間能直接作運算,實際上它們在運算的時候都會作自動類型轉換)。