JS高階之資料型別 物件建立

2021-10-17 18:51:04 字數 4411 閱讀 2241

萬物皆物件

兩者區別:存在形式不同

var a1 =10;

var b1 = a1;

a1 =9;

console.

log(b1)

;//10

var obj =

;var obj2 = obj;

obj.id =99;

console.

log(obj2.id)

;//99

var obj3 =

;obj3.id = obj.id;

//本質還是乙個基本型別賦值的過程

obj.id =99;

console.

log(obj3.id)

;//100

使用array建立

var arr =

newarray()

; arr[0]

='a'

; arr[1]

='b'

; arr[2]

='c'

; arr //['a','b','c']

簡潔的寫法

var arr2 =

newarray

('red'

,'blue'

,'yellow'

);

字面量表示法

var arr3 =

['alice'

,'angela'

,'jack'

];

函式宣告

sum()

function

sum(x,y)

;

函式表示式

vara=

function

(x,y);a

()

區別:由於預解析,函式宣告可以先呼叫再宣告,函式表示式不行

使用object建立

var person =

newobject()

; person.name =

'alice'

; person[

'age']=

20;person =

簡單字面量

var person2 =

; person2.name=

'jack'

; person2.

action

=function()

; person2.

action()

;

巢狀字面量

var person3 =};

person3.name;

var obj =

; obj.name=

'amy'

; obj[

'age']=

20;

obj.name;

obj[

'age'

];

這裡有個需要注意的地方!

獲取的方式有兩種:. 和 [ ]的區別

.的後面只能跟物件中的鍵(不需要加「 」)

[ ]的後面既能跟鍵(加「 」)也可以跟其他變數

var obj =

; obj.name;

obj[

'name'];

var n =

'name'

;//obj[n] == obj['name'] == obj.name;

var o2=

;delete o2.name;

console.

log(o2)

;

in 運算子 檢測屬性是否存在於某個物件中,自有屬性和繼承屬性都返回true

hasownproperty() 方法用於檢測屬性是否是自有屬性,是則返回true,否則返回false

function

init()

init.prototype.name =

'xyz'

;//原型物件

var init =

newinit()

; init.age =18;

console.

log(

"name"

in init)

;// true

console.

log(

"age"

in init)

;// true

console.

log(init.

hasownproperty

("name"))

;//false

console.

log(init.

hasownproperty

("age"))

;//true

var obj =

;for

(var key in obj)

;var arr =

['a'

,'b'

,'c'];

for(

var v in arr)

(從上往下的遞進關係)

var arr =

['a'

,'b'

,'c'];

for(

var i=

0;i);

var a2 = arr.

foreach

(function

(item,index));

console.

log(a2)

;//['a','b','c']

var a3 = arr.

map(

function

(item,index));

console.

log(a3,arr)

;//[a1,b1,c1] [a,b,c]

var arr2 =[,

,];var a4 = arr2.

map(

function

(v))

; console.

log(a4)

;//[1,2,3]

var arr3 =[19

,29,21

,300,23

];var a5 = arr3.

filter

(function

(item));

console.

log(a5)

;//[300,23]

var a6= arr3.

every

(function

(item));

console.

log(a6)

;//false

var a6= arr3.

some

(function

(item));

console.

log(a6)

;//true

var arr4 =[1

,2,3

];var a7= arr4.

reduce

(function

(total,cur),10

);//10為初始值

console.

log(a7)

;

var obj =

; console.

log(

typeof

json

.stringify

(obj)

)

var obj =

;var str =

json

.stringify

(obj)

; console.

log(

typeof

json

.parse

(str)

)

js高階 資料型別

基本 值 型別 string 任意字串 number 任意數字 boolean true false null null undefined undefined 物件 引用 型別 object 任意的物件 一般物件內部資料無序 function 一種特別的物件 可以執行 array 一種特別的物件 ...

js資料型別及物件的建立方法

js物件型別可以分為基本型別和複雜型別 也叫引用型別 一 基本型別 string number boolean null undefined symbol symbol是es6引入的一種新的原始資料型別,表示獨一無二的值 二 複雜型別 object array function 三 建立陣列 第一種...

js物件屬性型別 資料型別

js物件屬性型別分為兩類 1.資料型別 2.訪問器型別。1.資料型別 例如 var obj console.log obj.name obj的名字 obj.name obj修改後的名字 console.log obj.name obj修改後的名字 for o in obj delete obj.na...