萬物皆物件
兩者區別:存在形式不同
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...