js數(shù)據(jù)類型總結(jié)

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

在 JavaScript 規(guī)范中,共定義了七種數(shù)據(jù)類型绣的,分為 “基本類型” 和 “引用類型” 兩大類高氮,如下所示:

  • 基本類型:Number彼哼、String迹淌、Boolean河绽、Undefined、Null唉窃、Symbol(新增)
  • 引用類型:Object

Number

  • Number類型包含整數(shù)和浮點(diǎn)數(shù)(浮點(diǎn)數(shù)數(shù)值必須包含一個(gè)小數(shù)點(diǎn)耙饰,且小數(shù)點(diǎn)后面至少有一位數(shù)字)
  • JavaScript 只有一種數(shù)字類型。數(shù)字可以帶小數(shù)點(diǎn)纹份,也可以不帶:
var x1=34.00;      // 使用小數(shù)點(diǎn)來(lái)寫var x2=34;        
var x2=34;         // 不使用小數(shù)點(diǎn)來(lái)寫
  • 極大或極小的數(shù)字可以通過(guò)科學(xué)(指數(shù))計(jì)數(shù)法來(lái)書寫:
var y=123e5;      // 12300000var z=123e-5;     
var z=123e-5;    // 0.00123

字符串String

  • 字符串的作用:用于表示文本數(shù)據(jù)苟跪。
  • 字符串的元素索引:字符中每個(gè)元素的位置用數(shù)字表示,第一位元素的序號(hào)是0蔓涧,后面依次增加件已。字符串的長(zhǎng)度就是它元素的個(gè)數(shù)。
var a = "abc"
console.log(a[0])          // a
console.log(a.length)   // 3
  • 字符串的表現(xiàn)形式:使用單引號(hào)''或雙引號(hào)""括起來(lái)元暴,表示該值是一個(gè)字符串拨齐。
var carname="Bill Gates";
var carname='Bill Gates';

布爾Boolean

  • 布爾(邏輯)只能有兩個(gè)值:true 或 false。布爾常用在條件測(cè)試中昨寞。
var a = true;
var b = false;

Undefined和Null

  • 當(dāng)聲明的變量還未被初始化時(shí),變量的默認(rèn)值為undefined厦滤。
  • null用來(lái)表示尚未存在的對(duì)象援岩。

  • undefined轉(zhuǎn)為數(shù)值時(shí)為NaN。
  • null轉(zhuǎn)為數(shù)值時(shí)為0掏导;

  • undefined表示”缺少值”享怀,就是此處應(yīng)該有一個(gè)值,但是還沒(méi)有定義趟咆。典型用法是:
  1. 變量被聲明了添瓷,但沒(méi)有賦值時(shí),就等于undefined值纱。
  2. 調(diào)用函數(shù)時(shí)鳞贷,應(yīng)該提供的參數(shù)沒(méi)有提供,該參數(shù)等于undefined虐唠。
  3. 函數(shù)沒(méi)有返回值時(shí)搀愧,默認(rèn)返回undefined。
  4. 對(duì)象沒(méi)有賦值的屬性,該屬性的值為undefined咱筛。

  • null表示”沒(méi)有對(duì)象”搓幌,即該處不應(yīng)該有值。典型用法是:
  1. 作為函數(shù)的參數(shù)迅箩,表示該函數(shù)的參數(shù)不是對(duì)象溉愁。
  2. 作為對(duì)象原型鏈的終點(diǎn)。

對(duì)象Object

  • javascript 中的對(duì)象(物體)饲趋,和其它編程語(yǔ)言中的對(duì)象一樣拐揭,可以比照現(xiàn)實(shí)生活中的對(duì)象(物體)來(lái)理解它。 javascript 中對(duì)象(物體)的概念可以比照著現(xiàn)實(shí)生活中實(shí)實(shí)在在的物體來(lái)理解篙贸。
  • 對(duì)象可以通過(guò)new操作符后跟要?jiǎng)?chuàng)建的對(duì)象類型的名稱來(lái)創(chuàng)建投队。
var o = new Object();
  • 我們也可以通過(guò)下面的方式直接創(chuàng)建一個(gè)對(duì)象:
 var person = { name: 'oocl', age: 20, gender: 'male' };

  • 給JS對(duì)象添加屬性和方法
    方法一:在定義對(duì)象時(shí),直接添加屬性和方法
function Person(name,age) {
    this.name = name;
    this.age = age;
    this.say = function() {
        alert(name + ':::' + age);
    }
}
var person = new Person('oocl', 23);

方法二:通過(guò)"對(duì)象.屬性名"的方式添加

function Person() {}

var person = new Person();
person.name = 'oocl';
person.say = function() {alert(this.name)};
person.say();

方法三:通過(guò)prototype(原型)屬性添加

function Person() {}

var person = new Person();
Person.prototype.name = 'oocl';
Person.prototype.say = function() {alert(this.name)};
person.say();

符號(hào)Symbol

  • Symbol 是 ES6 新增的一種原始數(shù)據(jù)類型爵川,它的字面意思是:符號(hào)敷鸦、標(biāo)記。代表獨(dú)一無(wú)二的值 寝贡。

數(shù)組Array

  • 數(shù)組是一個(gè)特殊的對(duì)象
  • 數(shù)組下標(biāo)是基于零的扒披,所以第一個(gè)項(xiàng)目是 [0],第二個(gè)是 [1]圃泡,以此類推碟案。

typeof操作符

  • 由于JavaScript是松散類型的,因此需要有一種手段來(lái)檢測(cè)給定變量的數(shù)據(jù)類型——typeof就是負(fù)責(zé)提供這方面信息的操作符颇蜡。對(duì)一個(gè)值使用typeof操作符可能返回下列某個(gè)字符串:
    'undefined' —— 未定義 
    'boolean' —— 布爾值 
    'string' —— 字符串 
    'number' —— 數(shù)字值 
    'object' —— 對(duì)象或null 
    function —— 函數(shù) 
  • 判斷一個(gè)變量是對(duì)象還是數(shù)組(不可使用typeof,typeof的輸出結(jié)果都是object)
Object.prototype.toString.call()

寫一個(gè)方法實(shí)現(xiàn)

function isObjArr(value){
    if(Object.prototype.toString.call(value) === "[object Array]"){
        console.log('value是數(shù)組')
    }else if((Object.prototype.toString.call(value) === "[object Object]"){
        console.log('value是對(duì)象')
    }else{
        console.log('value不是數(shù)組也不是對(duì)象')
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末价说,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子风秤,更是在濱河造成了極大的恐慌鳖目,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缤弦,死亡現(xiàn)場(chǎng)離奇詭異领迈,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)碍沐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門狸捅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人累提,你說(shuō)我怎么就攤上這事尘喝。” “怎么了刻恭?”我有些...
    開(kāi)封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵瞧省,是天一觀的道長(zhǎng)扯夭。 經(jīng)常有香客問(wèn)我,道長(zhǎng)鞍匾,這世上最難降的妖魔是什么交洗? 我笑而不...
    開(kāi)封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮橡淑,結(jié)果婚禮上构拳,老公的妹妹穿的比我還像新娘。我一直安慰自己梁棠,他們只是感情好置森,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著符糊,像睡著了一般凫海。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上男娄,一...
    開(kāi)封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天行贪,我揣著相機(jī)與錄音,去河邊找鬼模闲。 笑死建瘫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的尸折。 我是一名探鬼主播啰脚,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼实夹!你這毒婦竟也來(lái)了橄浓?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤亮航,失蹤者是張志新(化名)和其女友劉穎贮配,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塞赂,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年昼蛀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宴猾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡叼旋,死狀恐怖仇哆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情夫植,我是刑警寧澤讹剔,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布油讯,位于F島的核電站,受9級(jí)特大地震影響延欠,放射性物質(zhì)發(fā)生泄漏陌兑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一由捎、第九天 我趴在偏房一處隱蔽的房頂上張望兔综。 院中可真熱鬧,春花似錦狞玛、人聲如沸软驰。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)锭亏。三九已至,卻和暖如春硬鞍,著一層夾襖步出監(jiān)牢的瞬間慧瘤,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工膳凝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碑隆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓蹬音,卻偏偏與公主長(zhǎng)得像上煤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子著淆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354