JS中的資料型別

2021-09-29 06:33:21 字數 2301 閱讀 7817

number,string,boolean,undefined,null,object

1.基本型別/簡單型別/值型別

number,string,boolean

2.引用型別

object

3.空型別

undefined,null

var定義的變數,沒有塊的概念,可以跨塊訪問, 不能跨函式訪問。

let定義的變數,只能在塊作用域裡訪問,不能跨塊訪問,也不能跨函式訪問。

const用來定義常量,使用時必須初始化(即必須賦值),只能在塊作用域裡訪問,而且不能修改。

值型別: 棧

引用型別 :堆(引用變數在棧)

值型別 :賦值就是拷貝

引用型別:賦值就是傳址

var num = 10; 這是乙個基本資料型別number,如果他呼叫了屬性如:num.tostring();則會轉換成包裝型別

注意: 如下**

var flag =

newboolean

(false);

var f = flag&&

true

;console.

log(f)

//結果為true

原因:任何物件&&true結果都是true

var flag =

newboolean

(false);

var f =

true

&&flag;

// 如果反過來

console.

log(f)

//結果是boolean 物件

var n = number("10");//這個是基本型別,把str轉num

解釋型語言 :不預編譯

基於物件的語言 :但不是物件導向的語言,也就是說他沒有繼承、多型的特性,但可以進行模擬,來實現物件導向

指令碼語言 :script

動態語言 :**(變數)只有執行到這個位置的時候,才知道這個變數中到底儲存的是什麼。沒有什麼「 . 」什麼,那麼就可以為物件新增屬性或者方法。

弱型別語言 :var

呼叫系統的建構函式建立物件

var obj =

newobject()

;obj.name =

"wang"

;obj.f1=

function()

;obj.f1(

);//呼叫

工廠函式模式建立物件

function

persion

(na)

;//注意:返回物件

return oo;

}persion

("wang").

f1();

自定義建構函式建立物件

//注意:建構函式名稱大寫

function

person()

}var person =

newperson()

;person.f1(

);//改值

person.name =

"aaa"

;//或

person[

"name"]=

"aaa"

;//呼叫方法

person[

"f1"](

);

字面量的方式建立物件

//注意賦值的方式是分號

//缺點:無法改值,一次性的物件。

var obj =};

//呼叫

obj.f1(

);

new person(); 執行這條語句進行了如下操作:

4. 申請記憶體空間

5. 將this設定為當前物件

6. 設定物件的屬性和方法,如果有的話

7. 返回本物件(this)

以鍵值對的形式進行儲存

var json =

;//獲取屬性的值

console.

log(json.name)

;//注意,使用.的方式要保證這個屬性名存在,否則會建立新的屬性

console.

log(json[

"name"])

;//迭代json物件中所有屬性的值

for(

var key in json)

JS中的資料型別

js中的資料型別分為兩種 基本資料型別和引用資料型別 基本資料型別 number boolean string undefined null symbol es6中新增 引用資料型別 object array function date regexp 等 講區別之前,需要先了解堆 heap 和棧 s...

js中的資料型別

1.基本資料型別和複雜資料型別 雖然typeof null返回的值是object,但是null不是物件,而是基本資料型別的一種。這是乙個歷史遺留問題,js 的最初版本中使用的是 32 位系統,為了效能考慮使用低位儲存變數的型別資訊,000開頭代表是物件,null表示為全零,所以將它錯誤的判斷為obj...

js中的資料型別

js中的資料型別可以分為基本型別和引用型別 基本型別包括了 number string boolen undefined null symbol 引用型別包括了object 又可以具體的分為 object array date regexp function 關於資料型別的檢測 1.typeof 方...