javascript是弱類型。javascript是數(shù)據(jù)類型可以被忽略的語言,一個(gè)變量可以賦不同數(shù)據(jù)類型的值。javascript允許變量類型的隱式轉(zhuǎn)換,允許強(qiáng)制類型轉(zhuǎn)換等,如字符串和數(shù)值可以自動(dòng)轉(zhuǎn)化;而強(qiáng)類型語言一般不允許這么做。
創(chuàng)新互聯(lián)建站專注于喀左網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供喀左營銷型網(wǎng)站建設(shè),喀左網(wǎng)站制作、喀左網(wǎng)頁設(shè)計(jì)、喀左網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造喀左網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供喀左網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
強(qiáng)類型定義語言和弱類型定義語言1)強(qiáng)類型定義語言:強(qiáng)制數(shù)據(jù)類型定義的語言。也就是說,一旦一個(gè)變量被指定了某個(gè)數(shù)據(jù)類型,如果不經(jīng)過強(qiáng)制轉(zhuǎn)換,那么它就永遠(yuǎn)是這個(gè)數(shù)據(jù)類型了。舉個(gè)例子:如果你定義了一個(gè)整型變量a,那么程序根本不可能將a當(dāng)作字符串類型處理。強(qiáng)類型定義語言是類型安全的語言。
2)弱類型定義語言: 數(shù)據(jù)類型可以被忽略的語言。它與強(qiáng)類型定義語言相反, 一個(gè)變量可以賦不同數(shù)據(jù)類型的值。
強(qiáng)類型定義語言在速度上可能略遜色于弱類型定義語言,但是強(qiáng)類型定義語言帶來的嚴(yán)謹(jǐn)性能夠有效的避免許多錯(cuò)誤。另外,“這門語言是不是動(dòng)態(tài)語言”與“這門語言是否類型安全”之間是完全沒有聯(lián)系的!
例如:Python是動(dòng)態(tài)語言,是強(qiáng)類型定義語言(類型安全的語言); VBScript是動(dòng)態(tài)語言,是弱類型定義語言(類型不安全的語言); JAVA是靜態(tài)語言,是強(qiáng)類型定義語言(類型安全的語言)。
關(guān)于各種語言類型的解釋,請參考:http://blog.csdn.net/aiming66/article/details/78570784#t3
了解了這些,我們在此說一下JavaScript為什么是弱類型語言。經(jīng)過思考,我感覺通過一段代碼來說明吧??赡苓@樣更加直白。
其中,我來解釋以下代碼。下面的幾句代碼顯示如下圖,我們不能看出,我們在一開始只創(chuàng)建了一個(gè)變量num,為var類型,我們卻可以給他賦值各種類型:數(shù)值類型,字符串,布爾類型,對象類型,為此我們可以推斷出來,JavaScript為弱類型語言。
javascript中一個(gè)變量可以賦不同數(shù)據(jù)類型的值,它允許變量類型的隱式轉(zhuǎn)換,允許強(qiáng)制類型轉(zhuǎn)換等,如字符串和數(shù)值可以自動(dòng)轉(zhuǎn)化;而強(qiáng)類型語言一般不允許這么做。
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í)教程】