js中的物件
阿新 • • 發佈:2020-11-04
物件的定義:
物件是一個包含相關資料和方法的集合(通常由一些變數和函式組成,我們稱之為物件裡面的屬性和方法)。
寫法:
varperson={}; 例如下邊就是一個物件:
1 var persion={
2
3 name:["bob","smith"],
4 age:32,
5 gender:"man",
6 interests:['music','swim'],
7
8 bio:function (){
9
10 alert(this.name[0]+" "+this.name[1]+" "+"is"+" " + this.age +" "+"years old."+" "+"He"+" "+ "likes"+" "+this.interests[0] )
11 },
12
13 greeting:function() {
14 alert("Hi! I'm " + this.name[0])
15 }
16
17
18 }
一個物件由許多的成員組成(成員型別包括字串,函式,陣列,數字等組成),每一個成員都擁有一個名字(像上面的name、age),和一個值(如['Bob', 'Smith']、32)。每一個名字/值(name/value)對被逗號分隔開,並且名字和值之間由冒號(:)分隔 。
物件取值
直接去取物件裡的成員名就可以,例如
1 persion.name[0]; //取物件persion裡邊name裡的第一項 也就是"bob"字串。
2 persion.age; //取物件persion裡邊age裡值,也就是數字32.
3 persion.bio(); //呼叫物件裡邊persion裡邊的bio函式。
給物件賦值
直接在物件下邊進行賦值就可以,例如:
1 persion.name[0]="李敏"; //給物件persion裡邊name裡的第一項 也就是"bob"字串替換成"李敏"字串。
2 persion.age=45 //給物件persion裡邊age換值,也就是數字32替換成45.
3 persion.bio(); //呼叫物件裡邊persion裡邊的bio函式。
給物件新增新的成員
程式碼如下:
1 persion["str"]="string"; //給物件persion 增加字串成員str。
2
3 persion["shuzu"]=["1","2"]; //給物件persion 增加陣列成員shuzu
4
5 persion["fangfa"]=function () {alert("歡迎")} //給物件persion 增加函式成員fangfa
6
7 persion.fangfa() //呼叫函式fangfa
取使用者的輸入值的時候 我們一般用input框來取值然後賦值到物件中,如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
</head>
<body>
<input type="text" id="wenben"/>
<input type="button" value="按鈕" id="anniu"/>
</body>
<script language="JavaScript1.2">
var persion={
name:["bob","smith"],
age:32,
gender:"man",
interests:['music','swim'],
bio:function (){
alert(this.name[0]+" "+this.name[1]+" "+"is"+" " + this.age +" "+"years old."+" "+"He"+" "+ "likes"+" "+this.interests[0] )
},
greeting:function() {
alert("Hi! I'm " + this.name[0])
}
}
persion["str"]="string"; //給物件persion 增加字串成員str。
persion["shuzu"]=["1","2"]; //給物件persion 增加陣列成員shuzu
persion["fangfa"]=function () {alert("歡迎")} //給物件persion 增加函式成員fangfa
// persion.fangfa() //呼叫函式fangfa
var button=document.getElementById("anniu");
button.onclick=function () {
persion["user"]=document.getElementById("wenben").value; //建立persion的一個成員user的值是使用者在input文字框裡輸入的值
alert(persion.user)
}
</script>
</html>
this的用法:
關鍵字"this"指向了當前程式碼執行時的物件,在上邊的程式碼中,this代表了persion這個物件,當有多個物件的時候可能一個物件中包含有相同的成員名比如name值這時候這個this保證了當程式碼的上下文(context)改變時變數的值的正確性