簡單談談js的數(shù)據(jù)類型
近期做一些項目的時候發(fā)現(xiàn),自己的js基礎還是不夠扎實,再看一遍犀牛書,加深自己的理解和印象。所以從這篇文章開始,后面都是關于原生js的一些內(nèi)容。
這篇文章,我們具體介紹一下js的數(shù)據(jù)類型其中一種。
一、javaScript(以下簡稱js)的數(shù)據(jù)類型分為兩類:原始類型和對象類型。js的原始類型包括數(shù)字、字符串和布爾值。
二、js有兩個特殊的原始值:null(空)和undefined(未定義),它們不是數(shù)字、字符串和布爾值。它們通常分別代表各自特殊類型的唯一成員。
三、js中除了數(shù)字、字符串、布爾值、null和undefined之外的就是對象了,對象(object)是屬性的集合,每個屬性都由“名/值對”(值可以是原始值,比如數(shù)字、字符串,也可以是對象)構成。
四、普通的js對象是“命名值”的無序集合。js同樣定義了一種特殊對象——數(shù)組(array),表示帶編號的值的有序集合。js專門為數(shù)組定義了語法,這個后面我們會有詳細的講述。使數(shù)組擁有一些和普通對象不同的特有行為特性。
五、js還定義了一種特殊對象——函數(shù)。函數(shù)具有與它相關聯(lián)的可執(zhí)行代碼的對象,通過調用函數(shù)運行可執(zhí)行代碼,并返回運行結果。和數(shù)組一樣,函數(shù)的行為特征和其他對象都不一樣。
六、如果函數(shù)用來初始化(使用new運算符)一個新建的對象,我們稱為構造函數(shù),每個構造函數(shù)定義一個類對象
下面我具體的為大家講解一下數(shù)據(jù)類型的第一種——數(shù)字
按照js中的數(shù)字格式,能夠表示的整數(shù)范圍是從-9007199254740992~9007199254740992(也就是-253~253)包含邊界值。
在js中,當一個數(shù)字直接出現(xiàn)在js程序中,我們稱為數(shù)字直接量,js支持多種格式的數(shù)字直接量。
整型直接量,用一個數(shù)字序列表示一個十進制整數(shù),比如:0 3 133333
浮點型直接量,浮點型直接量可以含有小數(shù)點,比如:3.14 .3333 2.02e23(2.02x1023)e或者E代表多少次冪
js中的算術運算(+(加)、 -(減)、 x(乘)、 /(除)、 %(取余))除了這些基本的運算符外,js還支持更加復雜的算術運算,這些復雜的運算通過作為Math對象的屬性定義的函數(shù)和常量來實現(xiàn):
Math.pow(2,53) //2的53次冪也就是8007199254740992 Math.round(.6) //1.0 四舍五入 Math.ceil(.6) //1.0 向上取整 Math.floor(.6) //0.0 向下取整 Math.abs(-5) //5 求絕對值 Math.max(x,y.z) //返回最大值 Math.min(x,y.z) //返回最小值 Math.random() //生成一個大于等于0小于1的偽隨機數(shù) Math.PI //π 圓周率 Math.E //e 自然對數(shù)的底數(shù) Math.sqrt(3) //3的平方根 Math.pow(3,1/3) //3的立方根 Math.sin(0) //三角函數(shù):還有cos()和atan等
js采用了IEEE-754浮點數(shù)表示法,這是一種二進制表示法,可以精確的表示分數(shù),比如1/2,、1/8和1/1024,但是我們常用的分數(shù)都是十進制的分數(shù)1/10/1/100等。二進制浮點數(shù)表示法并不能精確表示類似0.1這樣簡單的數(shù)字。
比如
0.3-0.2是不等于0.2-0.1的,在真實的運行環(huán)境下 0.3-0.2=0.09999999999999998 而 0.2-0.1=0.1 這是由于舍入誤差導致的
數(shù)字類型的內(nèi)容大概講完了,下一章我會為大家講述第二種數(shù)據(jù)類型——字符串
以上這篇簡單談談js的數(shù)據(jù)類型就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
bootstrap動態(tài)調用select下拉框的實例代碼
今天小編就為大家分享一篇bootstrap動態(tài)調用select下拉框的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
javascript 異步頁面查詢實現(xiàn)代碼(asp.net)
異步頁面查詢,其實與自動完成時一樣的原理,根據(jù)用戶輸入的關鍵詞自動的與數(shù)據(jù)庫中的匹配,并顯示出來,提高用戶體驗,但主要搜索量大的話,增加服務器開銷。2010-05-05
微信小程序 數(shù)據(jù)緩存實現(xiàn)方法詳解
這篇文章主要介紹了微信小程序 數(shù)據(jù)緩存實現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
如何用JavaScript實現(xiàn)動態(tài)修改CSS樣式表
如何用JavaScript實現(xiàn)動態(tài)修改CSS樣式表?下面小編就為大家?guī)硪黄狫avaScript實現(xiàn)動態(tài)修改CSS樣式表的方法。希望對大家有所幫助。一起跟隨小編過來看看吧2016-05-05
JS script腳本中async和defer區(qū)別詳解
這篇文章主要介紹了JS script腳本中async和defer區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06

