站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        JavaScript為什么是寬松類型語言

        原因:JavaScript是一種直譯式腳本語言,其數(shù)據(jù)類型可以被忽略,當對一個變量賦值時,是不需要考慮它的類型;待變量被賦予某個值之后,才會具有某種類型。簡單來說,JavaScript變量在不同的場合可以解釋為不同的類型。

        JavaScript為什么是寬松類型語言

        前端(vue)入門到精通課程:進入學習
        API 文檔、設計、調(diào)試、自動化測試一體化協(xié)作工具:點擊使用

        本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

        JavaScript變量與常量

        學習任何一門語言都要從變量開始。變量可以被看作是一種被命名的分類容器,用于保存特定的數(shù)據(jù),數(shù)據(jù)可以具有多種形式:整數(shù)、小數(shù)、字符串或其它數(shù)據(jù)類型。JS的變量不需要事先聲明就可以直接使用,同時JS的變量可以用任何方式進行命名,但為了方便閱讀,我們一般只是用數(shù)字、字母、美元符號和下劃線命名變量。JS的變量命名規(guī)則如下:

        1)JavaScript變量在使用前不需要事先聲明,但為了防止程序在執(zhí)行時出現(xiàn)難以查找的錯誤,我們在使用變量前需要事先對變量進行聲明,其聲明方式如下

        var mypetcat
        登錄后復制

        2)JavaScript變量可以以任何符號進行命名,但為了方便閱讀,通常只是用字母、數(shù)字、美元符號以及下劃線進行命名。并且,在聲明變量時以字母開頭,且不單獨使用數(shù)字進行變量聲明

        3)JavaScript是區(qū)分大小寫的語言,變量MYPETCAT和mypetcat是不一樣的。程序員在聲明變量的時候習慣使用一種“駱駝大小寫”(或混合大小寫)的方法,也就是把單詞和短語連寫到一起,沒有空格,每個單詞的首字母大寫,但整個名稱的第一個字母可以是大寫或小寫。如MyPetCat

        4)JavaScript變量的賦值方式有很多種。可以在聲明變量的時候直接賦值

        var myPetCat=11.2
        登錄后復制

        或者

        myPetCat=11.2
        登錄后復制

        也可以先聲明變量再進行賦值

        var myPetCatmyPetCat=11.2
        登錄后復制

        5)JavaScript在聲明后即可直接進行調(diào)用

        alert(myPetCat)
        登錄后復制

        6)JavaScript中的常量用Math方法進行定義,將在后面的Math方法進行介紹

        7)JavaScript可以試用const方法聲明常量,常量一旦聲明后就不可更改

        const a=1;
        登錄后復制

        JavaScript數(shù)據(jù)類型

        “數(shù)據(jù)類型”這個術(shù)語表示了變量包含數(shù)據(jù)的本質(zhì)特征。字符串變量包含了一個字符串,數(shù)值變量包含了一個數(shù)值,等等。JavaScript屬于“寬松類型”的編程語言,這意味著JavaScript變量在不同的場合可以解釋為不同的類型。

        從前面的內(nèi)容中可以看出,在JavaScript中,不必事先聲明變量的數(shù)據(jù)類型就可以使用變量,這時JavaScript解釋器會根據(jù)情況做出他認為正確的判斷。如果我們現(xiàn)在變量里保存了一個字符串,稍后又想把它當做數(shù)值使用,這在JavaScript里是完全可行的,前提是這個字符串必須包含像數(shù)字的內(nèi)容。

        1)整數(shù)

        整數(shù)可以是正整數(shù)、負整數(shù)和0,如33,-100000

        2)浮點數(shù)

        與整數(shù)不同的是,浮點數(shù)具有小數(shù)部分,但小數(shù)部分可以為0。浮點數(shù)表示形式可以是3.1415926,也可以是指數(shù)形式35.4e5

        在指數(shù)表示法中,e表示10的冪,利用指數(shù)表示法,可以很方便的表示特別大或者特別小的數(shù)

        3)非數(shù)值(NaN)

        當腳本試圖把一些非數(shù)值數(shù)據(jù)當數(shù)值處理時,其返回值就是NaN,利用isNaN()函數(shù)能夠監(jiān)測非數(shù)值,當輸入?yún)?shù)為非數(shù)值時,返回ture;當輸入?yún)?shù)為數(shù)值時,返回false

        4)parseFloat()函數(shù)

        該函數(shù)解析一個字符串并返回一個浮點數(shù)

        如果被解析的字符串的首字符是一個數(shù)字,函數(shù)會一直解析知道數(shù)字結(jié)束,然后返回一個數(shù)值而不是字符串

        5)parseInt()函數(shù)

        該函數(shù)與parseFloat()函數(shù)類似,返回值是整數(shù)或NaN。此外,該函數(shù)還有第二個可選參數(shù),用于指定數(shù)值的基,從而返回二進制、八進制或其他進制的數(shù)值所對應的十進制數(shù)

        6)無窮大(Infinity)

        JavaScript所能表示的最大數(shù)值為2的53次方,超過該值即標志為Infinity。此外,表示你負無窮的關(guān)鍵字為- Infinity。

        利用isFinite()可以判斷一個數(shù)值是否為無窮大,當輸入值為NaN,Infinity或- Infinity時,返回false,其他情況返回ture

        7)布爾值

        布爾類型的數(shù)據(jù)只有兩個值:ture和false,常用與在代碼中保存邏輯操作的結(jié)果

        對布爾值進行賦值時,注意不要把值包含在引號里面,如

        A=ture
        登錄后復制

        如果將布爾值用于計算,JS會自動把ture轉(zhuǎn)換為1,把false轉(zhuǎn)換為0

        8)“非”操作符(!)

        當操作符!位于布爾值之前時,JS將它解釋為非,也就是相反的值

        9)null(空)

        當我們讓變量具有有效值,卻又不是任何具體值時,就把null賦值給變量。對于數(shù)值來說,null就是0,對于字符串來說,null就是””,對于布爾變量來說null表示false。

        10)undefined(未定義)

        undefined不是關(guān)鍵字,而是預定義的全局變量。當某個變量已經(jīng)在語句里使用了,但沒有被賦予任何值時,他的值不是0或者null,而是undefined,表示JS不能識別他

        javascript弱(寬松)類型的體現(xiàn)

        一般規(guī)律是,約束越強越不容易出錯,但編寫程序時也越麻煩。在JavaScript中,因為約束比較弱,所以容易出現(xiàn)這種錯誤:最簡單的例子:

        var a =200; var b ="1"; var c= a + b;
        登錄后復制

        你可能期望c是201,但實際上它是"2001",這個錯誤在強類型語言中決不會出現(xiàn)。然而正是因為JavaScript沒有這些約束,所以可以很方便地拼接數(shù)字和字符串類型。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 久久这里只有精品视频99| 亚洲?V无码乱码国产精品| 久久亚洲精精品中文字幕| 久久成人精品视频| 中文字幕日韩精品无码内射| 国产精品99无码一区二区| 国产精品爱啪在线线免费观看| 亚洲欧洲自拍拍偷精品 美利坚| 欧美精品/日韩精品/国产精品| 久久久精品人妻一区二区三区四| 久久精品无码一区二区日韩AV| 99国产精品国产免费观看| 国产成人久久精品区一区二区| 人妻AV一区二区三区精品| 婷婷久久精品国产| 久久91精品综合国产首页| 2024国产精品极品色在线| 成人无码精品1区2区3区免费看| 中文字幕一精品亚洲无线一区| 麻豆精品| 巨大黑人极品VIDEOS精品| 国产精品一区二区久久精品无码| 亚洲国产综合91精品麻豆| 国产亚洲精品a在线观看app| 国产成人精品日本亚洲| 久久发布国产伦子伦精品| 亚洲精品国产美女久久久| 亚洲精品无码专区久久同性男| 久久精品亚洲福利| 久久精品国产第一区二区| 国产精品一区12p| 国产手机在线精品| 国产玖玖玖九九精品视频| 国产欧美精品一区二区三区四区 | 亚洲人成电影网站国产精品| 日韩精品一区二三区中文| 久久久精品无码专区不卡| 精品国产高清在线拍| 久久精品国产一区二区电影| 日韩精品欧美亚洲| 亚洲动漫精品无码av天堂|