跟我學《JavaScript高程3》
第二講:第3章
課程製作:bling,興哥,5年Java,3年前端 課程知識:JavaScript、Html、Css 課程目標:前端體系課程,逐步深入,找到一份前端工作 課程大綱:本書目錄結構 適合人羣:前端初學者,可以0基礎,但要認真,踏實
課程回顧
1、靜態項目基本結構:html、css、js、p_w_picpaths 2、文件的方式引入一個JavaScript腳本文件:引入方式、引入路徑 3、變量編寫Hello,world:變量的定義,使用變量。
補充:變量在講解函數後,會提到全局變量和局部變量。
課程筆記
1、JavaScript中的數據類型
分類: 數據類型:5種簡單數據類型,1中複雜數據類型 typeof: 用於判斷變量是哪種類型,如果需要判斷變量爲何種類型,直接使用typeof關鍵詞,空格接着寫上變量就可以了。 比如,前幾天羣裏面的一個問題,如何判斷數組,也是使用typeof。 undefined: 如果我們定義了一個變量,但是沒有給變量賦值,這個時候,變量就是undefined。 如果我們沒有定義一個變量,而是直接去使用,那麼會報錯。提示 not defined。 如果JavaScript文件中有程序報錯,那麼程序會停止執行。 null: null是表示一個空值,但是要注意,我們定一個變量爲null的時候。 如果使用typeof操作符判斷類型的時候,返回的是object,因爲指向的是一個空的對象。 null一般用於給變量初始化使用。在進行邏輯運算的時候,與undefined是相等的。 number: number類型用於表示數字,整數和浮點數。 NaN:正數除以0的時候返回infinity,負數除以0返回-infinity。只有0除以0的時候返回NaN。任何非數字類型的值去做除法運算,都會返回NaN。 編程中判斷NaN的時候,採用isNaN(xxx)去判斷。 字符串類型轉換數字有兩個常用的函數,parseInt()和parseFloat(),這兩個函數都比較“智能”,因此在使用的時候需要留意。 toFixed(2)用於保留有效位數,參數是保留的位數。在JavaScript中,保留位數的時候,注意四捨五入的規則,和我們學習的數學不太一樣。 只適用於要捨去的位數值是5的情況,判斷前面一位數,如果小於5,不進位,如果大於等於5,則進位。 boolean: boolean的值只有true和false兩種。在與數字對比的時候,只有1等於true,0等於false。 但是,在做邏輯判斷的時候,是另外一種情況。非空的值都是true,空值null也是flase。 我們在給字符串或者其他類型轉換爲boolean值的時候,使用的是Boolean()函數。 注意:轉換的時候,只會關心這個變量有沒有值,不會關心變量的內容。整形的變量0和1是特例。 string: 字符串可以使用單引號或者雙引號包裹,但是不能一邊使用單引號另外一邊使用雙引號。 JavaScript中字符串是不允許修改,如果做字符串操作,會重新分配空間。 字符串有個length屬性,用於判斷長度。轉義符的長度爲1。 Object: 創建Object對象的時候,建議使用new關鍵詞。Object對象是JavaScript中所有對象的基類,任何對象都會自動擁有Object對象的方法。 知識點: 數據類型是任何一門編程語言的基礎,一定要好好理解。 JavaScript中所有的變量都是使用var關鍵詞定義。 這幾種數據類型都有一個特點,都可以衍生出數組類型,數組是將同一類型數據,多條,賦值給一個變量,用中括號包裹。 數組變量的類型的如果使用typeof操作符,也會返回object。 比如:數字類型數組,字符串數組,等等。
2、操作符
分類: 一元操作符 : ++ -- += =+ -= =- 。。。。。 需要注意,++和--的時候,放在變量的前面,是先給變量的值做++或者--的運算。如果放在後面,是先做其他運算,再給變量自身進行++或者--的操作。 ++和--的步進值是1。 += 操作符對變量沒有任何改變,=+會改變變量,加上被設置的值。其他-=、=-、*=、=*。。。。。類似。 布爾操作符 : && || ! && : 只有兩邊都是true的時候,才爲true。有一個爲false的時候,就爲false || : 有個爲true就爲true ! : 如果給true取反,就是false。相反如果給false取反,就是true。 注意:做邏輯運算的時候,需要注意邏輯運算的順序,爲保證正常執行,可以使用() 關係運算符:== > < >= <= === 用於兩個變量之間的比較,返回true和false,前面5中會對變量進行默認類型轉換。 第6種是絕對等於,不會進行數據轉換。一般用於對數據有嚴格要求的地方。 條件操作符:xxx?xxx:xxx; 也叫三元操作符,第一個表達式一般是關係操作符。 如果值爲真(true),那麼執行第二個,如果爲假(false),那麼執行第三個。 逗號表達式:,,,, 逗號表達值永遠執行最後一個。瞭解。 知識點: 操作符運算需要注意優先級,我這邊總結了一句話,可以方便理解。算關邏條賦逗。
3、語句
分類: if-else: 用於一次判斷,if中的判斷條件是邏輯運算,如果最終結果爲true,那麼執行if後面{}包裹的程序,如果爲false,那麼執行else後面{}包裹的程序。 else不是必須的。 do-while: 可以用於多次循環遍歷,先執行do中的邏輯運算,如果爲true,則執行while後面()包裹的判斷,如果爲false,則跳出循環。 注意和while的區別。 while: 用於多次循環遍歷,自身擁有判斷條件,如果爲真則一直執行,如果有一次爲false,那麼會跳出循環。 for: 用於多次循環遍歷,擁有一個三元操作符。循環的次數由後面的兩個表達式控制。經常與++和--搭配使用。 for-in: 一般用於遍歷對象的屬性使用,可以方便的獲取到對象的屬性名稱和屬性值,在工作中做工具類的時候使用較多。 label: 代碼段加標籤,一般與循環中的break和continue搭配使用。不常用。 break,continue: 和循環搭配使用,進行邏輯的控制。break是跳出循環,continue是繼續執行循環,不執行後面代碼。 with: 簡化同一個對象的頻繁編寫,可以使用,但是不常用。因爲不便於代碼的閱讀理解。 switch-case: 功能類似if-else,但是可以方便組織代碼結構。注意使用的時候,別忘了要搭配一個break。有時候還會有一個default。 知識點: 語句是用於控制程序的邏輯結構,數據的處理,語句也是任何一門編程語言的基礎,在任何語言中基本是類似的。一定要好好掌握。 工作中經常使用的有if-else,for,for-in,while,swith,break-continue。 其中break-continue,一般是用於循環遍歷中的控制。
4、函數
概念:使用function關鍵詞定義,可以隨機定義參數,函數的參數叫做形參。 作用:函數用於包裹一個功能,比如對某種數據的處理,日期格式的轉換,數據的校驗等等。 知識點:函數是一次編寫,多處調用。有一種神奇的函數,叫做匿名函數,在工作中使用的頻率也會很高。 函數也是非常重要的功能,在工作經常使用,一定要好好學習,函數有很多玩法,後續的課程中會陸續提到。
課後作業
1、理解數據類型、操作符、語句、函數的概念,弄清楚各自在什麼時候使用。 2、編寫一個加、減、乘、除運算的四個函數,函數中需要彈出計算機結果是正數還是負數的提示框。