对象的创建(字面量形式)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>对象</title>
</head>
<body>
	<script>
	//创建对象
		// var stu = new Object();//创建一个空对象
		// //属性--特征   名词
		// stu.name = "小麦";
		// stu.age = 23;
		// stu.sex = "女";
		// //属性--行为  动词
		// stu.like = function(name){
		// 	//只有在当前stu对象中,this才是指stu
		// 	console.log(this.name +this.age+"了,他"+ "喜欢" +name);
		// }
		// //获取对象的属性
		// console.log(stu.name);
		// console.log(stu.age);
		// //调用对象的方法
		// stu.like("玉米");

		// 对象的字面量 (属性 方法 get、set型属性)
		var stu = {
			name:"小江",
			_age:15,
			sex:"未知",
			like:function(food){
				console.log("大家好,我是"+this.name+",我喜欢吃"+food);
			},
			get age(){
				return this._age;
			},
			set age(val){
				if(val<0 || val>150){
					throw new Error("invalid value");
				}else{
					this._age = val;
				}
			},
			address:{
				home:"jiating",
				office:"office"
			}	
		};
		stu.like("玉米");
		//Object.defineProperties定义与属性修改
		Object.defineProperties(stu,{
			salary:{value:1000,writable:false},
			gender:{value:true},
			height:{
				get:function(){
					return 180;
				},
				set:function(val){
					console.log(val);
				}
			}
		})
		console.log(stu.age);
		
		// 输出对象的属性和方法
		for(var key in stu){
			console.log(key);//输出对象的属性
			//console.log(stu[key]);//输出对象属性的值
		}
		//判断对象是否含有某属性
		console.log("name" in stu);//true
		var b = stu.hasOwnProperty("name");
		console.log(b);
		//删除属性 
		//delete stu.age;
	</script>
</body>
</html>

得到对象的属性特征描述:Object.getOwnPropertyDescriptor(对象名,"属性名");



  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值