javascript是動態弱語言,它是一種直譯式腳本語言,是一種動態型別、弱型別、基於原型的語言。在javascript中,資料型別可以被忽略,當對一個變數賦值時,是不需要考慮它的型別;待變數被賦予某個值之後,才會具有某種型別。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
什麼是靜態型別語言和動態型別語言?
程式語言依照資料型別大體可以分為兩類,一類是靜態型別語言,另一類是動態型別語言。
靜態類型語言在編譯時便已確定變數的類型,而動態類型語言的變數類型要到程式執行的時候,待變數被賦予某個值之後,才會具有某種類型。
在JavaScript中,對一個變數賦值時,是不需要考慮它的型別,因此,JavaScript是一門典型的動態型別語言。
動態類型語言的優點:
寫的程式碼數量更少,看起來也更簡潔,程式設計師可以把精力更放在業務邏輯上面。雖然不區分類型在某些情況下會讓程式變得難以理解,但整體而言,程式碼量越少,越專注於邏輯表達,對閱讀程式是越有幫助的。
什麼是強型別語言和弱型別語言?
1)、強型別語言:
強制資料型別定義的語言。也就是說,一旦變數被指定了某個資料類型,如果不經過強制轉換,那麼它就永遠是這個資料類型了。舉個例子:如果你定義了一個整數變數a,那麼程式根本不可能將a當作字串類型處理。強型別定義語言是型別安全的語言。
2)、弱型別語言:
資料型別可以被忽略的語言。它與強型別定義語言相反, 一個變數可以賦能不同資料型別的值。
強型別定義語言在速度上可能略遜色於弱型別定義語言,但是強型別定義語言帶來的嚴謹性能夠有效的避免許多錯誤。
javascript弱型別的體現
一般法則是,約束越強越不容易出錯,但寫程式時也越麻煩。在JavaScript中,因為約束比較弱,所以容易出現這種錯誤:最簡單的例子:var a =200;
var b ="1"; var c= a + b;
你可能會期望c是201,但實際上它是"2001",這個錯誤在強型別語言中絕不會出現。然而正是因為JavaScript沒有這些約束,所以可以很方便地拼接數字和字串型別。
【推薦學習:javascript進階教學】
#以上是javascript是動態弱語言嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!