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

来源:互联网 发布:stm32f103用什么编程 编辑:程序博客网 时间:2024/05/19 05:05
<!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);//truevar b = stu.hasOwnProperty("name");console.log(b);//删除属性 //delete stu.age;</script></body></html>

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



0 0