1. 程式人生 > 其它 >js基礎_屬性名和屬性值

js基礎_屬性名和屬性值

物件的屬性名

物件的屬性名不強制要求遵守識別符號的規範
什麼亂七八糟的名字都可以用,但是我們使用時還是儘量按照標誌符的規範去做。
如果要使用特殊的屬性名,不能採用.的方式來操作,需要使用另一種方式來操作。
格式:物件[“屬性名”]=屬性值;

obj[“123”]=789;
console.log(obj[“123”]);

讀取時也要採用這種方式

使用[]這種形式去操作屬性,更加的靈活,在[]中可以直接傳遞一個變數,變數存物件的屬性名,這樣變數的值是多少就會去讀取那個屬性。
比如:

obj[“123”]=789;
obj[“nihao”]=”hello”;
var n=”123”;
console.log(obj[n]);//結果為789;
var n=”nihao”;
console.log(obj[n]);//結果為”hello”;

物件的屬性值

JS物件的屬性值可以是任意資料型別,甚至是一個物件
比如:

var obj=new Object();
obj.gender='男';
var obj2=new Object();
obj2.name="豬八戒";
obj.test=obj2;

console.log(obj);結果如下圖

console.log(obj.test);結果如下圖,輸出的就是一個物件

console.log(obj.test.name);//輸出的結果就是單純的一個值:”豬八戒”,而不是一個大括號括起的一個物件。

檢查一個物件中是否含有指定屬性

in 運算子
-通過該運算子可以檢查一個物件中是否含有指定屬性
如果有則返回true,否則返回false。
語法:”屬性名” in 物件

檢查obj中是否有test2屬性
console.log(“test2” in obj);//false;

使用函式作為屬性值

函式也可以作為物件的屬性,如果一個函式作為一個物件的屬性,那麼我們稱這個函式是這個物件的方法,呼叫這個函式就稱呼叫這個物件的方法(method),但是它只是名稱上的區別。
所以,obj.sayname();稱為調方法,
fun();稱為調函式。只有通過(屬性名)點出來的才叫方法,其餘都叫函式。

 var obj={
                 name:"孫悟空",
                 gender:'男',
                 sayname:function(){
                     console.log(obj.name)
                 },
                 age:18
             }
             //console.log(obj.sayname);
             obj.sayname();