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

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

JavaScript數(shù)據(jù)類型分為兩類:
原始類型(primitive type):數(shù)字、字符串、布爾值
   * 特殊原始值:null(空)、undefined(未定義)
對(duì)象類型(object type):


對(duì)象是屬性的集合

null與undefined
 > 其均表示"值的空缺",兩者往往可以互換
 > null == undefined 返回 true , null === undefined 返回false
 > 都不包含任何屬性和方法
 > 使用“.” 和 “[]” 來存取這兩個(gè)值的成員或方法都會(huì)產(chǎn)生類型錯(cuò)誤

null
 > null 是javascript關(guān)鍵字,表示一個(gè)特殊值,“空值”, 
 > typeof null = “object”
 > null是一個(gè)特殊的對(duì)象值,含義是“非對(duì)象”,可表示數(shù)字、字符串和對(duì)象是“無值”

undefined
 > undefined是預(yù)定義的全局變量(不是關(guān)鍵字),其值為“未定義”
 > 在ECMAScript 3中,undefined是可讀/可寫的變量,可給它賦任意值,在ECMAScript 5中修改為只讀,
 > typeof undefined = "undefined",表明該值是這個(gè)類型的唯一成員

全局對(duì)象

 全局對(duì)象的屬性是全局定義的符號(hào),JavaScript程序可以直接使用
 全局屬性:比如undefined,Infinity,NaN
 全局函數(shù):比如isNaN(),parseInt(),eval()
 構(gòu)造函數(shù):比如Date(),RegExp(),String(),Object(),Array()
 全局對(duì)象:比如Math、JSON

原始值與對(duì)象引用

原始值:undefined、unll、布爾值、數(shù)字、字符串
     * 不可更改
     * 原始值的比較是值的比較

對(duì)象(又稱引用類型):數(shù)組、函數(shù)
     * 對(duì)象的比較并非值的比較,即使兩個(gè)對(duì)象包含同樣的屬性及相同的值,他們也是不相同的,各個(gè)索引元素完全相同的兩個(gè)數(shù)組也不相等
* 除了null 和 undefined之外的任何值都具有toString()方法,該方法的執(zhí)行結(jié)果通常和String()方法的返回結(jié)果一致。
對(duì)象 --> 字符串 : .toString();
對(duì)象 --> 數(shù)字: .valueOf();

函數(shù)作用于

JavaScript 的函數(shù)作用域是指在函數(shù)內(nèi)聲明的所有變量在函數(shù)體內(nèi)始終是可見的,這意味著在聲明之前甚至已經(jīng)可用。

function test1(o) {
    var i = 0;
    if( typeof o  === "object") {
        var j = 0;
        for(var k = 0; k < 10; k++) {
            console.log(k);  //0~9
        }
        console.log("k:"+k);   //k:10
    }
    console.log("j:"+j);   //j:0
}

var scope = "global";
function test2() {
    console.log(scope);   //undefined
    var scope = "local";
    console.log(scope);   //local
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容