js中中括號,大括號使用詳解


js中中括號,大括號使用詳解

一、總結

一句話總結:{ } 是一個對象,[ ] 是一個數組

 

1、js大括號{}表示什么意思?

對象

{ } 大括號,表示定義一個對象,大部分情況下要有成對的屬性和值,或是函數

 

2、js中對象的訪問方式有哪些?

數組

所以訪問時,應該用.(點)來層層訪問:LangShen.Name、LangShen.AGE,當然我們也可以用數組的方式來訪問,如:LangShen["Name"]、LangShen["AGE"],結果是一樣的。

 

3、中括號[]表示什么意思?

數組

[ ]中括號,表示一個數組,也可以理解為一個數組對象

 

4、對象的各個項和數組的各個項中間用什么符號隔開?

逗號

 

 

5、js中對象創建的兩種方式?

大括號
函數

javascript供了另外一種簡單的方式來創建對象,即大括號({})語法
arr = {
a:5, //對象屬性,a是變量名
b:8,
c:function(){return this.a + this.b;}, //對象方法
d:['a':1,'b':2] //對象屬性,數組
}
通過大括號括住多個屬性或方法及其定義(這些屬性或方法用逗號隔開),來實現對象的定義,這段代碼就直接定義個了具有n個屬性或方法的對象,其中屬性名和其定義之間用冒號(:)隔開。
document.write(arr.c());
注意,各屬性間用逗號(,)隔開。使用這種方式來定義對象,還可以使用字符串作為屬性(方法)名,例如:
var obj={“001”:”abc”}
因為這種簡單對象沒有通過構造函數創造所以也就沒能在對象外添加方法。
對比構造函數創造的對象
function Test(a,b){
this.a = a;
this.b = b;
this.c = function(){return this.a + this.b;}
}
Test.prototype.d = function another(){
return this.a * this.b * Math.PI;
};
arr = new Test(5,8);
document.write(arr.c());
輸出:13
document.write(arr.d());
輸出:125.66370614359172

 

 

 

二、js中中括號,大括號使用詳解

一、{ } 大括號,表示定義一個對象,大部分情況下要有成對的屬性和值,或是函數
如:var LangShen = {"Name":"Langshen","AGE":"28"};
上面聲明了一個名為“LangShen”的對象,多個屬性或函數用,(逗號)隔開,因為是對象的屬性
所以訪問時,應該用.(點)來層層訪問:LangShen.Name、LangShen.AGE,當然我們也可以用數組的方式來訪問,如:LangShen["Name"]、LangShen["AGE"],結果是一樣的。
該寫法,在JSON數據結構中經常用,除此之外,我們平時寫函數組的時候,也經常用到,如:
var LangShen = {
Name = function(){
return "LangShen";
},
Age = function(){
return "28";
}
}
調用方式差不多,因為是函數組,所以要加上(),如:alert( LangShen.Name() );
二、[ ]中括號,表示一個數組,也可以理解為一個數組對象
如:var LangShen = [ "Name","LangShen","AGE","28" ];
很明顯,每個值或函數,都是獨立的,多個值之間只用,(逗號)隔開,因為是數組對象,所以它等於:
var LangShen = Array( "Name","LangShen","AGE","28" );
訪問時,也是和數組一樣,alert( LangShen[0] );
三、{ } 和[ ] 一起使用,我們前面說到,{ } 是一個對象,[ ] 是一個數組,我們可以組成一個對象數組,如:
var LangShen = { "Name":"Langshen",
"MyWife":[ "LuLu","26" ],
"MySon":[{"Name":"Son1"},{"Name":"Son2"},{"Name":"Son3"}]
}
從上面的結構來看,是一個對象里面的第一項是個屬性,第二項是一個數組,第三個是包含有多個對象的數組。調用起來,也是一層一層訪問,對象的屬性用.(點)疊加,數組用 [下標] 來訪問
如:alert( LangShen.MySon[1].Name ) ;

 

 

============下面是另外一篇介紹==================================================

一、大括號{}表示對象:

javascript供了另外一種簡單的方式來創建對象,即大括號({})語法
arr = {
a:5, //對象屬性,a是變量名
b:8,
c:function(){return this.a + this.b;}, //對象方法
d:['a':1,'b':2] //對象屬性,數組
}
通過大括號括住多個屬性或方法及其定義(這些屬性或方法用逗號隔開),來實現對象的定義,這段代碼就直接定義個了具有n個屬性或方法的對象,其中屬性名和其定義之間用冒號(:)隔開
document.write(arr.c());
注意,各屬性間用逗號(,)隔開。使用這種方式來定義對象,還可以使用字符串作為屬性(方法)名,例如:
var obj={“001”:”abc”}
因為這種簡單對象沒有通過構造函數創造所以也就沒能在對象外添加方法。
對比構造函數創造的對象
function Test(a,b){
this.a = a;
this.b = b;
this.c = function(){return this.a + this.b;}
}
Test.prototype.d = function another(){
return this.a * this.b * Math.PI;
};
arr = new Test(5,8);
document.write(arr.c());
輸出:13
document.write(arr.d());
輸出:125.66370614359172

二、中括號 [ ] 表示數組:
arr = [
[1,2], //數組
['a','b'],
[{c:'a1',d:'b1'},{e:'a2',f:'b2'}] //對象
];
for(key in arr){
for(chikey in arr[key]){
document.write(chikey + "=>" + arr[key][chikey] + "<br />");
}
}
輸出:
0=>1
1=>2
0=>a
1=>b
0=>[object Object]
1=>[object Object]
document.write(arr[2][1].e);
輸出:a2
這里,數組的第三組是未命名的對象,可以用arr[2][1].e的方式指定訪問屬性。當然也可以遍歷:
for(key in arr[2]){
for(val in arr[2][key]){
document.write(val + "=>" + arr[2][key][val] + "<br />");
}
}
輸出:
c=>a1
d=>b1
e=>a2
f=>b2

三、數組與對象
在js中,上述的對象與數組的創建很相似,有人稱第一種方式為js的關聯數組,姑且吧;但在中括號中就不能使用['a':'b']的形式,只能以索引數組的形式,即下標只能是數字,如[1,2]或['a','b'],這點須注意。

 
參考:js中中括號,大括號使用詳解 - zhouxiaopin的博客 - CSDN博客
https://blog.csdn.net/zhouxiaopin/article/details/54089431
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM