一、資料型別
1、基礎型別:null,undefined,string,number,boolean,bigint,symbol;
2、引用型別:object,array等都算是引用型別;
二、兩種型別之間的區別
1、基礎型別:儲存在棧記憶體中,大小固定,方便快速查詢;
2、引用型別:儲存在堆記憶體中,儲存乙個指標,通過指標查詢對應儲存的的大值;
三、賦值引起的問題
1、基礎型別:直接賦值,沒有問題;
2、引用型別:賦值給新物件,對新物件修改,原物件的值也跟著變化;
var a ={};var b =a;
b.name = '
name';
console.log(a); //
三、如何判斷資料型別
1、typeof:可以判斷基礎型別;
2、instanceof:可以判斷引用型別,但是不完全;
3、object.prototype.tostring.call(arg):可以判斷所有型別;
function person()//typeof
typeof
1; //
number
typeof'1
'; //
string
typeof
true; //
boolean
typeof
null; //
object
typeof undefined; //
undefiend
typeof symbol; //
function
typeof person; //
function
typeof ; //
object
typeof {}; //
object
//instanceof
person instanceof person; //
true
object.prototype.tostring.call(1); //
[object number]
object.prototype.tostring.call('
1'); //
[object string]
object.prototype.tostring.call(true); //
[object boolean]
object.prototype.tostring.call(null); //
[object null]
object.prototype.tostring.call(undefined); //
[object undefined]
object.prototype.tostring.call(symbol); //
[object function]
object.prototype.tostring.call(person); //
[object function]
object.prototype.tostring.call(); //
[object array]
object.prototype.tostring.call({}); //
[object object]
四、undefned與null有什麼不同
1、undefined:表示已定義但是未賦值;
五、判斷物件{}為空
1、object.keys({}).length === 0;
2、json.stringify({}) === '{}';
六、包裝物件
包裝物件有三種:string,number,boolean,主要是方便我們進行型別轉換;
七、原生物件和宿主物件
1、原生物件:指的是ecmascript規定的物件,所有內建物件都是原生物件,如array,date,regexp等;
2、宿主物件:指的是宿主環境,瀏覽器或node v8環境等,用於執行ecmascript的執行環境,例如window,dcoument,global等;
八、tostring和valueof有什麼不同
當這兩個函式同時存在時候,會先呼叫 valueof ,若返回的不是原始型別,那麼會呼叫 tostring方法,如果這時候 tostring方法返回的也不是原始資料型別,那麼就會報錯typeerror: cannot convert object to primitive value
後續繼續完善
資料型別相關
整型常量 十進位制 18 31 long int型常量 123l 123l 123456l 123456l unsigned int型常量 123u 123u 根據實際資料大小確定int型還是long型 l以數字 0 開始的整型常量是八進位制數 022 037 010和10大小不一樣 因為八進位制並...
js資料型別
一.原始資料型別 1.typeof 運算子。var a alert typeof a 輸出結果為 undefined 2.undefined 未定義 型別 當變數未定義時,該變數值被預設為undefined 如 var a alert typeof a 輸出結果為 undefined 注意值unde...
js資料型別
js 基本資料型別 undefined null boolean number string js 操作符 typeof檢測給定變數的資料型別。返回值表示的型別 undefined 值未定義。boolean 值為布林型別。string 值為字串。number 值為數字。object 值為物件或nul...