JavaScript部分基礎知識點

mtjxhmd發表於2020-10-10

1.alert控制瀏覽器彈出一個警告框
document.write()向body中輸出一個內容
console.log()向控制檯輸出一個內容

2.js編寫位置
可以將js程式碼編寫到外部js檔案中,然後通過引入script標籤引入
寫到外部檔案中可以在不同的頁面中同時使用,也可以利用到瀏覽器的快取機制
推薦使用
–>
<!–
script標籤一旦用於引入外部標籤,就不能再編寫程式碼了
若需要則可重新建立一個新的script標籤編寫內部程式碼

可以將js程式碼編寫到標籤的onclick屬性中
點選按鈕後才會執行

	 雖然可以寫在屬性中,但屬於結構與行為耦合,不方便維護,不推薦使用

3.基本語法:
JS註釋:(多行),//單行註釋
JS中嚴格區分大小寫
JS中每一條語句以(;)結束
如果不寫,瀏覽器會自動新增,但會消耗系統資源
而且可能加錯,所以必須寫
JS會忽略多個空格和換行,可以利用空格和換行對程式碼進行格式化

  1. 字面量:不可改變的數值,
    1 2 3 4 5
    都是可以直接使用,但一般不直接使用

         變數:可以用來儲存字面量,值可以任意改變
    
  2. 識別符號:
    可以有字母,數字,_,$
    不能以數字開頭
    不能是ES中的關鍵字或保留字
    一般採用駝峰命名法:
    首字母小寫,每個單詞開頭字母大寫,其餘字母小寫:helloWorld

     	   JS底層儲存識別符號時實際上是採用的Unicode編碼
     	   所以理論上講,所有的utf-8含有的內容都可以作為識別符號
    
  3. 資料型別:字面量的型別(六種)
    string字串
    使用引號括起來,若不加就是變數
    引號不能巢狀,但可以使用轉義字元
    " : "
    ’ : ’
    \n :換行
    \ :
    number數值
    boolean布林值
    null空值
    undefined未定義
    object物件

     	除了object是引用資料型別,其餘都是基本資料型別
    
  4. 識別符號:
    可以有字母,數字,_,$
    不能以數字開頭
    不能是ES中的關鍵字或保留字
    一般採用駝峰命名法:
    首字母小寫,每個單詞開頭字母大寫,其餘字母小寫

  5. 使用運算子typeof檢查變數的型別
    語法: typeof 變數
    返回結果:字串string
    數值number

     	JS中可以表示數字的最大值
     	Number.MAX_VALUE:
     	  1.79769……+308
     	 如果使用number表示的數字超過了最大值,則會返回一個
     	 infinity
     	  表示正無窮
     	 -infinity
     	  表示負無窮
     	  NaN
     	  不是數字
     	  使用typeof檢查infinity也會返回number
    
  6. boolean:true/false,
    用typeof檢查infinity也會返回boolean

  7. 強制型別轉換:
    將其他的資料型別轉換為:string number boolean

    	轉換為string資料型別:
    	   方式1:呼叫被轉換資料型別的toString()方法
    	         該方法不會影響到原變數的值
    			null和undefined這兩個值沒有toString方法,若呼叫,則報錯。
    	   方式2:呼叫string()函式,並將被轉換的資料作為引數
    
  8. 將其他的資料型別轉換為number
    方式:
    使用Number()函式
    -字串–>數字
    1.如果直接是純數字的字串,則直接轉
    2.如有非數字的內容,則轉換為NaN
    3.如果字串是一個空串或一個全空格的字元
    -字串–>數字
    true:1;
    false:0.
    null–>數字:0
    undefined–>數字

    		呼叫parseInt()函式將a轉換為Number
    		parseInt()函式可以將一個字串中有效的整數內容取出來
    	parseInt()和parseFloat()作用類似,不同的是他們獲得的有效小數
    
  9. 將其他型別轉換為Boolean
    使用Boolean()函式
    -數字–>布林:除了0和NaN,其餘都是true
    -字串–>布林:除了空串,其餘都是true
    -null,undefined都會轉換為false
    -物件也會轉換為true

  10. 運算子也叫操作符
    通過運算子可以對一個或多個值進行運算,並獲取運算結果
    比如typeof就是運算子,獲得一個值的型別
    它會返回該值的字串型別:
    number string boolean unfined object

    	   算數運算子:+ - * /  %
    	     對非number值,先轉換為number型別再計算
    		 任何值與NaN作運算都得NaN
    		 
    	   任何值與字串相加都會轉換為字串,並做拼接返回
    		    所以可以將任意資料型別轉換為string
    

    這是一種隱式的型別轉換,由瀏覽器自動生成,實際上它也是呼叫String()函式

    	   除了加法,其他的都是轉換為number再計算
    	      可以通過為一個值-0 *1 /1來將其轉換為Number
    		  原理和Number()函式一樣,但更簡單
    
  11. 一元運算子:只需要一個運算元
    負號:對數字進行取反

    	對非number型別的值:
    	    先轉化為number,再運算
    		可以對一個其他型別使用+,將其轉換為number型別
    
  12. 邏輯運算子:
    ! 非:對布林值進行取反操作
    對非布林值先轉換為布林值,再計算
    可以利用此特點將其他資料型別轉換為布林型別
    可以為一個任意資料型別取兩次反,來將其轉換為布林值
    原理和Boolean()函式一樣

    	&& 與:對符號兩側的值進行與運算並返回結果
    	      全true則true,有一個false則false
    	      如果第一個值為false,則不再檢查第二個
    	
    	|| 或:對符號兩側的值進行或運算並返回結果
    	      全false則false,有一個true則true
    	      如果第一個值為true,則不再檢查第二個
    
  13. && || 非布林值的情況
    先將其轉換為布林值,然後再運算,並且返回原值

    	 與運算:true && true:返回後者
    	        如果第一個值為false,則返回第一個值
    	        如果第一個值為true,則返回第二個值
    			
    	 非運算:兩個值都為false,則返回前者
    	        如果第一個值為true,則返回第一個值
    	        如果第一個值為false,則返回第二個值
    
  14. 賦值運算子:
    =
    +=

  15. 關係運算子:
    比較兩個值之間的大小關係
    成立,返回true
    不成立,返回false

    	> >=  <  <=
    	非數值:將其轉換為數值,再比較
    

    如果符號兩側都是字串,則不會轉換為數字,而是直接比較兩者的Unicode編碼
    一位一位進行比較,如果兩位一樣,則比較下一位
    比較兩個字串的數字時,一定要轉型
    任何值與NaN作比較,都是false

  16. 在字串編碼中使用轉義字元輸入Unicode編碼
    \u四位編碼
    在網頁中使用Unicode編碼
    &#編碼;(十進位制的編碼)

  17. ==
    undefined衍生自null
    所以這兩個值做比較時,會返回true

    NaN不和任何值相等,包括它本身
    
    != 不相等
    ===  全等:和==類似,但其不會進行自動型別轉換
              如果兩個值型別不同,直接返回false
    !==  
    
  18. 條件運算子也叫三元運算子
       語法:
       條件表示式?語句1:語句2
        求值:true,執行語句1,返回結果
    	     false,執行語句2,返回結果
    
  19. 程式由一條條語句構成
    語句自上向下執行
    在js中可以使用{}為語句分組,即程式碼塊,同時執行或者不執行
    在程式碼塊後邊不用再編寫;了

    	JS中的程式碼塊只具有分組作用,沒有其他的用途
    	 程式碼塊內容的內容,在外部是完全可見的
    
  20. prompt()可以彈出一個提示框,會帶有一個文字框
    使用者可在文字框輸入內容,該函式需要一個字串作為引數
    該字串將會作為提示框的提示文字

    使用者輸入的內容將會作為函式的返回值返回,可以定義一個變數來接收該內容

  21. 程式由一條條語句構成
    語句自上向下執行
    在js中可以使用{}為語句分組,即程式碼塊,同時執行或者不執行
    在程式碼塊後邊不用再編寫;了

    	JS中的程式碼塊只具有分組作用,沒有其他的用途
    	 程式碼塊內容的內容,在外部是完全可見的
    
  22. 流程控制語句:
    語句的分類:
    1.條件判斷語句
    2.條件分支語句
    3.迴圈語句

    	條件判斷語句:
    	   使用條件語句可以在執行某個語句之前進行判斷
    	   成立才執行
    	  -if語句
    	   語法一:
    	     if(條件表示式)
    		    語句
    			if語句在執行時,會先對條件表示式進行求值判斷
    			為true才執行if後面的語句
    		if語句只能控制緊隨其後的那條語句(可放入程式碼塊)
    		
    		語法二:
    		   if(條件表示式){
    			      語句……
    			   }else{
    				  語句……
    			   }
    			   
    		if……else……語句
    		當該語句執行時,會先對if後的條件表示式進行求值判斷
    		為true,則執行if後的語句
    		為false,則執行else後的語句
    		
    		語法三:
    		   if(條件表示式){
    			      語句……
    			   }else if{
    				  語句……
    			   }}else if{
    				  語句……
    			   }else{
    				   語句……
    			   }
    			   
    		if……else……if……else……語句
    		當該語句執行時,會先對if後的條件表示式進行求值判斷
    		為true,則執行if後的語句
    		為false,則執行else後的語句
    

相關文章