js对象操作

js对象操作

  • 对象:
    对象(object)是大括号定义的无序的数据集合,由键值对构成,键与值之间用冒号分隔,大括号末尾要使用分号表示对象定义结束

  • 注意:
    1.属性与属性之间使用逗号分隔
    2.属性加不加引号 ,没有区别 一般 都会使用引号将键包裹起来
    3.如果对象内部包含多个键值对,每个键值对之间用逗号分隔。最后一个键值对末尾不用加逗号

  • 例子:

     		var obj ={
     			'userName':'小白',
     			'passWord':'1234'
     		};
    
  • 键名:
    键名也被称为属性,对象的所有属性都是字符串,所以加不加引号都可以。但是,如果属性不符合标识符的条件(比如第一个字符为数字,或者含有空格或运算符),则必须加上引号。

  • 键值:
    键值是属性所对应的具体的值。JavaScript的对象的键值可以是任何类型

  • 注意:
    数组中的元素也是任意类型的

  • 例子:

     	var obj ={
     		'age':'18',
     		'isSchool':true,
     		'book':['三国演义','水浒传','西游记'],
     		'k':undefined
     	};
     	console.log(obj);			
    
  • 对象属性值的读写
    1.通过对象名,属性名 获取属性值
    2.通过对象名[‘键名’]获取属性值

     			var obj ={
     			'username':'小白',
     			'passWord':'1234'
     			}
     		console.log(obj.username);	
     		console.log(obj['username']);
    

    3.对象新增属性

     	1.对象名.新增的属性='属性值'
     	
     			obj.shuaige='小宇';
     			console.log(obj);		
     			
     	 2.对象名['属性']='值'
    
     			obj['height'] = '183cm';
     			console.log(obj);
    

    注意:当属性重复时,保留最后一次出现的属性值。

     			var obj={};
     			obj.userName='小白';
     			obj['userName']='大白';
     			console.log(obj);
    

    4.当获取对象中没有的属性时 则返回undefined

     			var obj ={
     				'username':'小白',
     				'passWord':'1234'
     			}
     				obj.shuaige='小宇';
     				obj['height'] = '183cm';
     				console.log(obj.username);
     				console.log(obj['username']);
     				console.log(obj);
     				console.log(obj.meishi);
    

    注意:当属性重复时,保留最后一次出现的属性值

     			var obj={};
     			obj.userName='小白';
     			obj['userName']='大白';
     			console.log(obj);
    
  • .运算符与[]运算符区别
    1. .运算符不能直接将数字作为对象的属性进行添加而中括号可以

     							var obj={};
     							//obj.1=11;
     							  obj[11]=11;
     							console.log(obj);
    
    1. 运算符不能通过字符串变量获取对象的属性值 而中括号运算符 是可以的

      					var obj = {
      						'hero':'天使'
      							};
      					var str = 'hero';
      					console.log(obj.str);
      					console.log(obj[str]);
      

      3.运算符可以将js中的关键字作为对象属性添加 中括号运算符 不可以。

      					var obj = {
      					'hero':'天使'
      						};
      					obj.document='嘻嘻';
      					obj[document]='嘤嘤嘤';
      					console.log(obj);
      
  • 对象属性的操作:

  • 1.Object.keys()
    获取对象所有属性,返回一个属性构成的数组(Object.keys()是一个整体,调用的时候必须整体使用。)
    描述:获取对象内所有的属性
    语法:Object.keys(对象名)
    例子

     				var obj = {
     				'userName':'小白',
     				'passWord':'123',
     				'sex':'男'
     			};
     			var arr=Object.keys(obj);
     			console.log(arr);
    
  • 2.delete 删除一个属性
    描述:删除对象的属性
    语法:delete 对象名.属性名
    例子

     			var obj = {
     				'userName':'小白',
     				'passWord':'123',
     				'sex':'男'
     			};
     			delete obj.sex;
     			console.log(obj);
    

    注意
    删掉属性后,则此对象不再拥有此属性 所以 无法获取该属性

  • 3.in 检查对象是否包含一个属性
    描述:判断左边的字符串是否为右边对象的属性
    语法: 字符串 in 对象名
    例子

     			var obj = {
     				'userName':'小白',
     				'passWord':'123',
     				'sex':'男',
     				111:222
     			};
     			
     			console.log('userName' in obj);
     			console.log('xiaoyu' in obj);
     			console.log(111 in obj);
    
  • 4.for in
    描述:遍历对象所有属性
    例子

     			var obj = {
     				'userName':'小白',
     				'passWord':'123',
     				'sex':'男',
     				111:222
     			};
     			
     			for (var att in obj) {
     				console.log(obj[att]);
     			}
    
  • 5.with
    描述:操作多个对象属性
    例子

     			var obj = {
     				'userName':'小白',
     				'passWord':'123',
     				'sex':'男',
     				111:222
     			};					
     			with(obj){
     				'userName':'大白',
     				'passWord':'456'
     			};
     			console.log(obj);
    
  • 6.对象的引用
    例子

     			var star = {
     			'star1':'小宇',
     			'star2':'小白'
     			};
     			var tempStar1 = star;
     			var tempStar2 = star;
     			star.star1 = '大白';
     		
     			console.log(star);
     			console.log(tempStar1);
     			console.log(tempStar2);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值