javascript不是強類型語言,而是一種弱類型語言。JavaScript是一種動態(tài)類型、弱類型、基于原型的語言,它允許變量類型的隱式轉(zhuǎn)換,允許強制類型轉(zhuǎn)換等,如字符串和數(shù)值可以自動轉(zhuǎn)化;而強類型語言一般不允許這么做。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
JavaScript是一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為javascript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動態(tài)功能。JavaScript兼容于ECMA標(biāo)準(zhǔn),因此也稱為ECMAScript。
弱類型語言:
數(shù)據(jù)類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數(shù)據(jù)類型的值。
弱類型語言允許變量類型的隱式轉(zhuǎn)換,允許強制類型轉(zhuǎn)換等,如字符串和數(shù)值可以自動轉(zhuǎn)化;而強類型語言一般不允許這么做。
js弱類型的體現(xiàn)
一般規(guī)律是,約束越強越不容易出錯,但編寫程序時也越麻煩。在JavaScript中,因為約束比較弱,所以容易出現(xiàn)這種錯誤:最簡單的例子:
var a =200; var b ="1"; var c= a + b;
你可能期望c是201,但實際上它是"2001",這個錯誤在強類型語言中決不會出現(xiàn)。然而正是因為JavaScript沒有這些約束,所以可以很方便地拼接數(shù)字和字符串類型。
再比如下面這個例子:
var a = '11'; a = a - ''; alert(typeof a);// -->number
“-”可以是一元運算符(取負),也可以是二元(減法運算)
在循環(huán)語句中(if,while)中,一個Object對象可以隱式的轉(zhuǎn)換從BOOLEAN值。
var obj = {name:'jack'} if(obj){ //do more }
【推薦學(xué)習(xí):javascript高級教程】