g_对象

对象

用变量调用对象属性

	let kk={a:1,b:2,cd:4};
	function aa(na){
		//以变量使用对象的属性时,用[],不能用点.
		console.log(kk[na]);
	}
	aa("a");  //1
	aa("b");  //2
	console.log(kk["c"+"d"]);  //4    c+d得到cd
	

变量对象

	//Object.keys(kk)	
 	var kk={a:1,b:2,c:3,d:4,};
 	console.log(Object.keys(kk)); // ["a", "b", "c", "d"]  由对象中的key组成的数组 	
 	
 	//Object.entries(kk)	
 	// entries  返回二维数组  每一个数组是[key,value]
 	console.log(Object.entries(kk)); // [["a", 1],["b", 2],["c", 3],["d", 4]] 
 	
	//Object.values(kk)	
 	// values  返回返回一个 属性值组成的数组
 	console.log(Object.values(kk)); // [1, 2, 3, 4]
	

合并对象

	//Object.assign(a1, a2, a3)
	const a1 = {a:1};
	const a2 = {b:2,c:4};
	const a3 = {c:3};
	
	console.log(Object.assign(a1, a2, a3)); //{a: 1, b: 2, c: 3}  相同的被覆盖
	console.log(Object.assign(a1, a3, a2)); //{a: 1, b: 2, c: 4}  后面的覆盖前面的
	
	
	//$.extend(a1, a2, a3)   jquery中的对象合并   
	const a4 = {a:1};
	const a5 = {b:2,c:4};
	const a6 = {c:3};
	
	console.log($.extend(a4, a5, a6)); //{a: 1, b: 2, c: 3}  相同的被覆盖
	console.log($.extend(a4, a6, a5)); //{a: 1, b: 2, c: 4}  后面的覆盖前面的
	

查找属性

 	//obj.hasOwnProperty(prop) prop,必需。一个属性名称的字符串值。
 	 //判断属性是否是存在于自己的实例中,如果是:返回true,如果仅仅存在自己的原型总,则返回false
 	
 	function Pa(){
 		this.a=1;//构造函数中的属性
 	};
 	
 	Pa.prototype.c=3; //原型中的属性
 	var k=new Pa();
 	k.b=2;			// 自己私有的属性

	console.log(k.hasOwnProperty("a")); //true  
	console.log(k.hasOwnProperty("b"));//true
	
	console.log(k.c); //3   有这个属性
	console.log(k.d); //undefined   没有这个属性
	
	console.log(k.hasOwnProperty("c"));//false   原型中的属性返回false
	console.log(k.hasOwnProperty("d"));//false   没有这个属性也返回false

猜你喜欢

转载自www.cnblogs.com/myniu/p/11776107.html