JavaScript高級的學習在於對象的學習,而這些的基礎就是JavaScript基礎了,因此在學習高級以前先將JavaScript基礎部分複習一下吧.html
第一部分:變量數組
變量是貫穿了JavaScript學習和應用的每一個方面,在變量部分咱們須要掌握如下幾個方面:函數
1 變量做用域學習
變量的做用域分爲兩個:全局做用域和局部做用域htm
全局做用域:指script標籤下的全局範圍內.對象
全局變量:指在script標籤根節點聲明的變量爲全局變量,或者window.變量的方式獲取的變量也爲全局變量,或者函數中未被聲明的變量會進行隱式聲明成全局變量.ip
局部做用域:指函數內部範圍.作用域
局部變量:指在函數內部聲明的變量.字符串
2 變量的聲明提早it
在html頁面加載html代碼時,會先將變量的聲明提高至變量對應做用域的最前面.
也就是說若是在變量聲明賦值以前調用變量的話,只能獲取到變量可是沒法獲取到變量的賦值,返回的undefined.
3 變量的調用
變量的調用須要注意兩點:
1. 局部做用域調用變量時,先查找是否存在對應變量名的局部變量,若是沒有就去全局中找對應變量名的全局變量.
2. 函數中發生隱式聲明的全局變量,須要先調用函數後才能在全局做用域中讀取到該變量.
第二部分:數據類型
JavaScript中注意的數據類型分爲基本類型和複雜類型,每一個包含和注意的部分有許多,其中咱們須要注意的有:
1 數據類型分類
基本類型:數組,字符串,布爾,null,undefined.
複雜類型:對象類型(鍵值對的集合):window,document,數組,正則,函數等
2 檢測數據類型
咱們可使用typeof檢測不一樣類型的數據,可是其中有幾個是特殊的.
null檢測到數據類型是"object",function檢測到數據類型是"function".
其餘的對象的數據類型都是"object",還有基本數據檢測到的是對應的數據類型.
3 數據類型轉換
類型轉換中最主要的是數字和字符串的相互轉換.
數字轉字符串:toString(),+"",String().
字符串轉數字:Number(),perseInt(),parseFloat().
4 值類型和引用類型的傳遞
值類型就是基本數據類型,引用類型就是複雜數據類型,二者的值傳遞是不一樣的.
值類型的傳遞:發生傳遞時是將一個變量中的值複製一份給另外一個變量.
引用類型的傳遞:發生傳遞時是將指向對象的地址引用給另外一個變量.
第三部分:運算符
運算符類型不少,咱們不止須要知道有哪些運算符,還須要知道每一個運算符對應的功能是哪些.
1 算術運算符:+,-,*,/,%,++,--
注意:++a:先自加後參與運算
a++:先將原值參與運算,後自加
2 賦值運算符:=,+=,-=....
3 比較運算符
== 會進行隱式數據類型的轉換,再判斷值,並不考慮數據類型
=== 不會進行隱式數據類型的轉換,先判斷數據類型後再判斷值
4 邏輯運算符
&&:若是左邊的值爲真值的話,直接返回右邊的值;若是左邊的值爲假值的話,直接返回左邊的值.
||:若是左邊的值爲真值的話,直接返回左邊的值;若是左邊的值爲假值的話,直接返回右邊的值.
注意:
轉換爲布爾爲假的值有:0,false,null,undefined,NaN,""
5 三元運算符
判斷語句?成立時輸出的值:不成立時輸出的值;
第四部分:語句
語句主要包含如下幾個:
選擇語句:if,if..else,if..elseif..else,switch(){case}
循環語句:while,do..while,for,for..in
語句的使用須要根據實際狀況而定,在功能知足的狀況下,視具體狀況將語句進行簡化.
第五部分:函數
函數的使用主要是函數的參數,返回值,和函數的聲明
1 函數的參數
函數的參數分爲形參和實參:
形參:指的是函數聲明時定義的函數內部須要用到的參數.
實參:指的是函數調用時傳遞給函數的參數.
2 返回值
返回值的存在與否決定於return
若是函數內沒有return護足return後沒有須要返回的值,則咱們獲取到的返回值爲undefined.若是return後有值,則獲取到的返回值就是這個值.
注意:return後除了聲明的語句之外都不在執行,緣由是聲明語句會被提高至做業域的最前面
3 函數聲明提高
函數聲明也會像變量聲明同樣被提高至做用域的最前面,可是若是函數聲明和變量聲明同時被提高時,會先提高變量聲明後提高函數聲明.