javascript不是強型別語言,而是一種弱型別語言。 JavaScript是一種動態型別、弱型別、基於原型的語言,它允許變數型別的隱式轉換,允許強制型別轉換等,如字串和數值可以自動轉換;而強型別語言一般不允許這麼做。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
JavaScript是一種直譯式腳本語言,是一種動態類型、弱型別、基於原型的語言,內建支援類型。 它的解釋器稱為javascript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML網頁上使用,用來為HTML網頁增加動態功能。 JavaScript相容於ECMA標準,因此也稱為ECMAScript。
弱型別語言:
資料型別可以被忽略的語言。它與強型別定義語言相反, 一個變數可以賦能不同資料型別的值。
弱型別語言允許變數類型的隱式轉換,允許強制型別轉換等,如字串和數值可以自動轉換;而強型別語言一般不允許這麼做。
js弱型別的體現
一般法則是,約束越強越不容易出錯,但寫程式時也越麻煩。在JavaScript中,因為約束比較弱,所以容易出現這種錯誤:最簡單的例子:
var a =200; var b ="1"; var c= a + b;
你可能期望c是201,但實際上它是"2001",這個錯誤在強類型語言中決不會出現。然而正是因為JavaScript沒有這些約束,所以可以很方便地拼接數字和字串型別。
再例如下面這個例子:
var a = '11'; a = a - ''; alert(typeof a);// -->number
「-」可以是一元運算子(取負),也可以是二元(減法運算)
在循環語句中(if,while)中,一個Object物件可以隱式的轉換從BOOLEAN值。
var obj = {name:'jack'} if(obj){ //do more }
【推薦學習:javascript進階教學】
以上是javascript是強型別語言嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!