關於前端一些筆試題目

一、關於類型轉換: 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是在賦值的時候,自動說明其數據類型,也就是說,弱類型並非指不分數據類型了。咱們看到它們之間能直接作運算,實際上它們在運算的時候都會作自動類型轉換)。

相關文章
相關標籤/搜索