強(qiáng)類型定義語(yǔ)言在速度上可能略遜色于弱類型定義語(yǔ)言,但是強(qiáng)類型定義語(yǔ)言帶來(lái)的嚴(yán)謹(jǐn)性能夠有效的避免許多錯(cuò)誤。另外,“這門語(yǔ)言是不是動(dòng)態(tài)語(yǔ)言”與“這門語(yǔ)言是否類型安全”之間是完全沒(méi)有聯(lián)系的!
例如:Python是動(dòng)態(tài)語(yǔ)言,是強(qiáng)類型定義語(yǔ)言(類型安全的語(yǔ)言); VBScript是動(dòng)態(tài)語(yǔ)言,是弱類型定義語(yǔ)言(類型不安全的語(yǔ)言); JAVA是靜態(tài)語(yǔ)言,是強(qiáng)類型定義語(yǔ)言(類型安全的語(yǔ)言)。
關(guān)于各種語(yǔ)言類型的解釋,請(qǐng)參考:http://blog.csdn.net/aiming66/article/details/78570784#t3
了解了這些,我們?cè)诖苏f(shuō)一下JavaScript為什么是弱類型語(yǔ)言。經(jīng)過(guò)思考,我感覺(jué)通過(guò)一段代碼來(lái)說(shuō)明吧??赡苓@樣更加直白。
<!DOCTYPE html><html> <head> <title>js練習(xí)</title> <style type=\”text/css\”> </style> <script type=\”text/javascript\”> var num=0; alert(typeof num); num=\”123\”; alert(typeof num); num=true; alert(typeof num); num= new Date(); alert(typeof num); </script> </head></html>
其中,我來(lái)解釋以下代碼。下面的幾句代碼顯示如下圖,我們不能看出,我們?cè)谝婚_(kāi)始只創(chuàng)建了一個(gè)變量num,為var類型,我們卻可以給他賦值各種類型:數(shù)值類型,字符串,布爾類型,對(duì)象類型,為此我們可以推斷出來(lái),JavaScript為弱類型語(yǔ)言。
javascript中一個(gè)變量可以賦不同數(shù)據(jù)類型的值,它允許變量類型的隱式轉(zhuǎn)換,允許強(qiáng)制類型轉(zhuǎn)換等,如字符串和數(shù)值可以自動(dòng)轉(zhuǎn)化;而強(qiáng)類型語(yǔ)言一般不允許這么做。
var num=0;alert(typeof num);
num=\”123\”;alert(typeof num);
num=true;alert(typeof num);
num= new Date();alert(typeof num);
【相關(guān)推薦:javascript學(xué)習(xí)教程】
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)西部數(shù)碼官網(wǎng):m.ps-sw.cn