js中對象的類型和對象的屬性值(附有源碼練習)

JS中數據類型
* - String 字符串
* - Number 數值
* - Boolean 布爾值
* - Null 空值
* - Undefined 未定義
* - 以上這五種類型屬於基本數據類型,以後我們看到的值
* 只要不是上邊的5種,全都是對象
* - Object 對象
*
*
* 基本數據類型都是單一的值"hello" 123 true,
* 值和值之間沒有任何的聯繫。
*
* 在JS中來表示一個人的信息(name gender age):
* var name = “孫悟空”;
* var gender = “男”;
* var age = 18;
* 如果使用基本數據類型的數據,我們所創建的變量都是獨立,不能成爲一個整體。
*
* 對象屬於一種複合的數據類型,在對象中可以保存多個不同數據類型的屬性。
*
* 對象的分類:
* 1.內建對象
* - 由ES標準中定義的對象,在任何的ES的實現中都可以使用
* - 比如:Math String Number Boolean Function Object…
*
* 2.宿主對象
* - 由JS的運行環境提供的對象,目前來講主要指由瀏覽器提供的對象
* - 比如 BOM DOM
*
* 3.自定義對象
* - 由開發人員自己創建的對象
*
*/

		//創建對象
		/*
		 * 使用new關鍵字調用的函數,是構造函數constructor
		 * 	構造函數是專門用來創建對象的函數
		 * 使用typeof檢查一個對象時,會返回object
		 */
		var obj = new Object();
		
		
		/*
		 * 在對象中保存的值稱爲屬性
		 * 向對象添加屬性
		 * 	語法:對象.屬性名 = 屬性值;
		 */
		
		//向obj中添加一個name屬性
		obj.name = "孫悟空";
		//向obj中添加一個gender屬性
		obj.gender = "男";
		//向obj中添加一個age屬性
		obj.age = 18;
		
		/*
		 * 讀取對象中的屬性
		 * 	語法:對象.屬性名
		 * 
		 * 如果讀取對象中沒有的屬性,不會報錯而是會返回undefined
		 */
		
		//console.log(obj.gender);
		//console.log(obj.hello);
		
		/*
		 * 修改對象的屬性值
		 * 	語法:對象.屬性名 = 新值
		 */
		obj.name = "tom";
		
		/*
		 * 刪除對象的屬性
		 * 	語法:delete 對象.屬性名
		 */
		delete obj.name;
		
		
		console.log(obj.age);


-----------------------------js中對象的屬性值--------------------------

var obj = new Object();

/*
			 * 向對象中添加屬性
			 * 屬性名:
			 * 	- 對象的屬性名不強制要求遵守標識符的規範
			 * 		什麼亂七八糟的名字都可以使用
			 * 	- 但是我們使用是還是儘量按照標識符的規範去做
			 * 
			 */
			obj.name = "孫悟空";
		//obj.var = "hello";
		
		/*
		 * 如果要使用特殊的屬性名,不能採用.的方式來操作
		 * 	需要使用另一種方式:
		 * 		語法:對象["屬性名"] = 屬性值
		 * 	讀取時也需要採用這種方式
		 * 
		 * 使用[]這種形式去操作屬性,更加的靈活,
		 * 	在[]中可以直接傳遞一個變量,這樣變量值是多少就會讀取那個屬性
		 * 
		 */
		obj["123"] = 789;
		obj["nihao"] = "你好";
		var n = "nihao";
		//console.log(obj["123"]);
		
		/*
		 * 屬性值
		 * 	JS對象的屬性值,可以是任意的數據類型
		 * 		甚至也可以是一個對象
		 */
		
		obj.test = true;
		obj.test = null;
		obj.test = undefined;
		
		//創建一個對象
		var obj2 = new Object();
		obj2.name = "豬八戒";
		
		//將obj2設置爲obj的屬性
		obj.test = obj2;
		
		//console.log(obj.test.name);
		
		/*
		 * in 運算符
		 * 	- 通過該運算符可以檢查一個對象中是否含有指定的屬性
		 * 		如果有則返回true,沒有則返回false
		 *  - 語法:
		 * 		"屬性名" in 對象
		 */
		//console.log(obj.test2);
		
		//檢查obj中是否含有test2屬性
		//console.log("test2" in obj);
		//console.log("test" in obj);
		console.log("name" in obj);

k

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章