js 資料型別相關?

2022-07-06 16:18:09 字數 2434 閱讀 6029

一、資料型別

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...