天天看點

JavaScript基礎知識梳理,你能回答幾道題?

在學習javascript的時候,總是這裡學一點,那裡學一點,很的很零星,很雜,沒有很系統的去學習,感覺好像javascript的知識點都了解了,但是真正要說起來,又不知道從何說起!

最深刻的體會就是找工作面試的時候,面試官問你一些javascript的基礎知識,你貌似知道是怎麼回事,但是就是不知道怎麼去表達,或者是某個知識點知其然不知其是以然,不知道大家會不會有這樣的體會!

是以不管出于什麼目的,是去陳舊新也好,是從學javascript也好,還是說做備忘也好,我們大家一起來梳理一下javascript的基礎知

識點,我相信,要是這些知識點你都會了,而且都記住了,javascript的學習就更上一個層次了,我會不定期将“參考答案”釋出出來,供大家來學習參

考,也希望不管是新手還是大神,能夠多貼代碼,多貼見解,供大家一起學習,我隻是抛磚引玉而已,在此不勝感激!(特别鳴謝某教育訓練學校的

javascript知識點梳理參考,下面的并非是我想的,我隻是做了整理):

javascript運作在html中,引用有幾種方式?

javascript通常寫在頁面的什麼位置?

改變js加載順序的方法有什麼?

type屬性都有哪些常用的值?代表什麼意思?

除了type屬性還有其他的什麼屬性?

js中常用的輸出方式?

命名規範涉及的關鍵字和保留字都有哪些?

如何定義變量?

js變量有什麼特點?

js中的資料類型有哪些?

如何檢測這些資料類型?

number資料類型中的一些知識點?nan?isnan?

将其他類型轉化成number類型的方法有哪些?

null和undefined的差別?都是什麼意思?

js常用的報錯都有哪些?

基本資料類型和引用資料類型的差別?

不同資料類型之間的轉化關系?

區分(+連接配接的字元串拼接都是什麼情況?判斷不同資料類型是否相等的情況下都是什麼情況?[] {} 0 nan “” null undefined 都是需要特殊重點記憶的)

js中常用的文法語句都有哪些(三個判斷和三個循環)?

判斷語句都有什麼?怎麼用?每一種文法中的細節注意點都是什麼?每一種判斷應用于什麼情況?= = 和 = = =的差別是什麼?

三個循環語句都是什麼?如何來用?每一種循環的特點和作用是什麼?for循環4步和裡面的break、continue怎麼用?for in是用來做什麼的?裡面有什麼需要注意的?while循環怎麼用?三個循環的差別是什麼?i++和++i的差別?

object建立的方式有幾種?

object如何修改,增加,删除,擷取屬性名和屬性值(有幾種方式)?

object中常用的内置類都有哪些?

如何建立數組?

如何擷取數組的某一項?

有一個和數組類似的類叫做類數組是怎麼一回事?

數組中常用的方法都有哪些?每一個方法都是幹什麼的?需要傳遞什麼樣的參數?傳回的結果是什麼?原有的數組是不是改變了?該方法有哪些不足?

自己用代碼實作 數組排序,數組去重,兩個數組的交差并補集,a數組中有而b數組中沒有等等?

函數中涉及的知識點比較多,如何定義函數?如何執行函數?什麼叫做形參?為什麼要用形參?什麼是return?function中return的

注意項?為什麼要用return?arguments是什麼?如何擷取裡面存儲的資料?類資料的形式和正常操作?arguments中自己特殊的屬性是什

麼,幹什麼用的?如何的檢測執行函數時是否傳遞了參數?以及在方法中可以用什麼樣的辦法判斷傳入參數的類型和是否傳遞?

函數執行的時候會形成一個私有的作用域,來保護裡面的變量不受外界的幹擾(作用域這塊是怎麼回事)?

如何給元素綁定事件?

匿名函數:函數表達式、常見閉包形式

擷取頁面上dom元素的幾個方法和方法是如何的使用的?哪些方法不相容?方法使用過程中在不同浏覽器中的注意細節點都是什麼?

哪些擷取的是單個?哪些擷取的是對象集合(類數組)?對于集合的話我們有幾種方式擷取某個元素?

dom中的節點都包含哪些類型?每一種類型的nodetype和nodename和nodevalue是什麼?有什麼作用?

通過哪些屬性可以擷取頁面中的節點?都是如何使用的?相容性怎麼樣?在不同浏覽器下有哪些需要注意的?

dom 建立、修改、删除、替換、複制、設定自定義屬性(擷取、删除) 這些操作都有哪些方法?這些方法如何的使用?需要注意的事項有哪些?

需要熟悉掌握的案例:

寫一個求和的方法sumfn,不管傳遞的參數有什麼,都能将最終的和算出來,并且傳回給函數外部使用。(要求:一個參數都不傳預設結果為0,對于傳遞的非正常數字的參數不與累加操作);

實作在頁面中輸出99乘法表。(要求:以每三行為一組,實作隔行變色(顔色為白,紅,黃(也可自己定義)),滑鼠滑過每一行,行背景顔色變為藍色,滑鼠離開又恢複原來的顔色),隔行變色的效果需要用if和switch兩種判斷方式都能實作;

實作一個基礎頁籤頁面效果(仿照市面上的真實效果做)。(要求:用自定義屬性和閉包的方式實作事件的綁定,頁籤的原理思想要牢牢的掌握);

寫一個方法實作數組的排序。(要求:執行方法,傳遞一個數組,傳回排序好的新數組(原數組不變),可以用冒泡排序,插入排序,選擇排序,快速排序各寫一個);

寫一個方法實作數組的去重。(要求:執行方法,傳遞一個數組,傳回去重後的新數組,原數組不變,實作過程中隻能用一層循環,雙層嵌套循環也可寫,隻做參考);

編寫一個方法,實作從n-m個數中随機選出一個整數,要求:傳遞的參數不足兩個或者不是有效數字,傳回[0-1]之間的随機數,需要解決n和m兩個數大小問題,如果m<n,兩個參數的值進行交換;

在頁面中輸出目前用戶端時間(2015年1月1日星期一10:10:10這樣的格式),每過一秒中頁面不重新整理,但是時間自動更新(用兩種定時器方法都可以實作),滑鼠點選時間,如果原先運動則停止,如果停止則繼續運動;

看來上述的知識點,是不是有點覺得好簡單的趕腳,但是真正回答起來,還真是不知道怎麼回答好,如果你也這麼感覺,那你就來對了,希望你能踴躍的貼出

自己的見解和代碼,我們一起來學習探讨,也希望大牛們能指點一下我們這些菜鳥,我會将大牛們比較經典的代碼段貼出來供大家學習,當然也要特别鳴謝!

注意:貼出來的代碼段,如果複雜的話,可以提供連結到你自己的部落格裡面,或者是可以複制過來直接運作的代碼。

作者:淩雲之翼

來源:51cto

繼續閱讀