Python學習——JS基本語法(一)

在web項目開發的過程中,前端尤爲重要的一門語言就是js,雖然作爲後端人員js對於我們來說不是特別重要,但是還是有必要會寫的。閒話少說,下面進入正題。那麼什麼是js呢?它有什麼作用呢?它是怎麼用的呢?不要捉急,下面我們就來淺談一下js。
js是JavaScript的簡寫,雖然它有一個java,但是它跟java一毛錢關係都沒有,它和java的關係就像雷鋒和雷峯塔之間的關係,是不是聽上去很不可思議(剛開始學的時候我一直以爲js是java的一個庫,想想都很扯淡)。它的名字的由來:NetSpace=>LiveScript,後來與Sun公司有合作,藉助java做推廣,將名字改爲JavaScript。它是客戶端(瀏覽器)的腳本語言,服務器端的腳本叫Node.js,還有vue.js……等等。我們可以用它給靜態頁面添加動態屬性,如:修改樣式,添加事件。
js引入方式

  • 方式1:通過頁面任意位置的script標籤,標籤中就可以書寫js代碼

  • 方式2:通過script標籤加載外部的js文件

  • 方式3:設置元素的特定屬性或添加特定事件
    每一門語言中變量的定義都是尤爲重要的,下面就來講講js的變量定義

  • 數字:number,整數、浮點數

  • 布爾:Boolean,true/false

  • 字符串:string,單引號、雙引號都行,‘+’可以進行拼接

  • 數組:array,可以使用[]或new Array()進行定義

  • 空類型:null,只有一個值,類型名仍然是object

  • NaN:not a number。不是一個數字,類型依然是object,判斷是不能使用‘==’進行判斷,使用函數isNaN進行判斷

  • 未定義:undefined
    定義變量不賦值,使用對象不存在的屬性
    直接判斷時與undefined進行比較,類型判斷是需要與字符串

  • 對象:
    方式1:先創建對象,然後添加屬性和方法。
    方式2:使用json字符串創建
    方式3:使用類似於構造方法的形式

基本運算

  • 賦值運算:=
  • 算數運算:+、-、*、/、%
  • 符號運算:+=、-=、*=、/=、%=
  • 自增自減:++、–
    放在變量前:先自增或自減,然後再參與其他運算
    放在變量後:先參與其他運算,然後再自增或自減
  • 關係運算:>、>=、<、<=、!=
    全等:"===",不但比較數值,還比較數據類型
  • 邏輯運算:&&(與)、||(或)、!(非)
  • 按位運算:&、|、^、`、<<、>>
  • 三目運算:?:
    格式:表達式1?表達式2:表達式3
    流程:首先判斷表達式1的真假,若爲真則將表達式2作爲整個表達式的返回值,反之返回表達式3的值

流程控制

  • 說明:
    條件必須寫在()中
    代碼塊必須寫在{}中

  • 分支結構
    if -else if-else

  • 分支結構
    格式

switch(表達式){
  	case 常量1:
  		語句塊1
  		break
  	case 常量2:
  		語句塊2
  		break
  	……
  	default:
  		語句塊1
  		break
}
  • 流程
    當程序執行到switch-case語句時,首先計算表達式的值,然後與所有的case選項匹配,匹配到誰就執行對應的語句塊。直到遇見break跳出語句。若沒有匹配成功,則執行default語句塊。

  • 說明:多個case條件不要相等

循環結構

  • while

    • 說明:與Python中的使用幾乎一樣
    • 格式:
      while (表達式){
      循環體
      }
  • do-while

    • 格式:
      do{
      循環體
      } while(表達式)
    • 說明:
      當程序執行到do-while語句時,首先執行循環體,然後判斷表達式的真假。若表達式的值爲真,
      則返回繼續執行循環體;若表達式的值爲假,則執行後面的內容。
    • 對比while:循環體至少執行一次,即使表達式一直不成立。
  • for

    • 格式:
      for(表達式1;表達式2;表達式3){
      循環體
      }
    • 流程:
      當程序執行到for語句時,首先執行表達式1,然後判斷表達式2的真假,若表達式2的值爲真,則執行循環體,然後執行表達式3,接着繼續判斷表達式2的真假,若表達式2的值爲假,則跳過循環(循環結束).
    • 說明:
      • 三個表達式可以任意組合的省略
      • 表達式1通常做一些初始化的操作,省略後需要把相關操作放在循環之前
      • 表達式2是循環條件,省略後一直爲真(死循環),可以結合break完成相關功能
      • 表達式3通常是使循環趨於結束的語句,省略後需要放在循環體的末尾
  • for-in

    • 類似於python中的用法,通常用於遍歷數組或對象

異常處理

  • 說明:與python中的語法相似,可以認爲是一種特殊的流程控制語句
  • 示例:
    try{
    //手動拋出異常
    throw ‘出問題了&_&’
    alert(‘nomal’)
    } catch (e){
    alert(e)
    }

函數使用

  • 定義函數的關鍵字:function
  • 函數的調用可以放在定義之前
  • 函數名不能重複,因爲後面的會覆蓋前面的
  • 函數可以像普通變量一樣使用,打印時會打印整個函數體
  • 函數參數:
    • 函數的參數多傳或少傳都不會報錯
    • 函數參數可以有默認值
    • 函數的所有參數都會保存到arguments對象中,可以像數組一樣操作它
  • 封閉空間
    (function (a,b){
    alert(a+b)
    })(3,5)

變量作用域

  • 全局變量:定義在函數外的變量,哪裏都可以使用
  • 局部變量:定義在函數內部的變量,只能在函數內部使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章