对象object
对象:JavaScript 中的所有事物都是对象:字符串、数值、数组、函数... 此外,JavaScript 允许自定义对象。
对象的创建方法:
1通过字面量法创建对象
var obj = {}; 空对象
var obj = {x : 1,y:2,z:3,‘for’:‘javascript的关键字必需放在引号之间’} javascript自带的关键字创建的时候必须放在引号之间
2通过new Object()来创建对象
var obj = new Object();空对象
var arr = new Array();空数组
var date = new Date();创建时间日期
3通过构建函数来创造对象 例:
function Test(){ function Test(num1,num2){
} this.n1=num1;
var obj = new Test();实例化一个对象 this.n2=num2;
}
var obj = new Test(2,5);
console.log(obj); 输出是 Test{n1:2,n2:5};
======注释:构建函数在创造对象 函数名首字母大写 为了是区分其他的函数====
4通过Object.create来创建对象
var obj = Object.create({x:1,y:2}); console.log(obj); --->{x:1,y:2}
var obj = Object.create(); 空对象 console.log(obj) --->{} 空的
=========================================================================================================================================
查询属性: 对象.属性名 或者 对象[属性名]
添加属性:对象.属性名 或者 对象[属性名]
改属性: 对象.属性名 或者 对象[属性名]
删除制定属性:用delete 删除后不留位置
如果属性不确定的话,必须加 [ ] 中括号
var key='username';
console.log(person.key); undefined
console.log(person[key]);
console.log(person['key']); undefined
通过for/in遍历属性:
var obj={
x:1;
y:2;
test:‘this is test’;
}
for (var p in obj){ p指的是x y test(元素)
console.log(p); 输出是{ x,y,test}
}
对象中有方法 : obj.方法名()
this.info=function(){ }
console.log(info()); info()必须加()因为他是个函数(方法)
在构造函数创建对象 实例化之后 再新增对象属性(函数),在构造函数内不显示,控制台输出的是undefined
funcition Person(name,age,sex,addr){
this.name=name;
this.age=age;
this.sex=sex;
this.addr=addr;
}
var obj=new Person(‘宋浩’,20,‘男’,‘太原’)
obj.test=‘this is a test’; 增一个对象属性
console.log(Person.test); undefined
console.log(obj.test); this is a test
obj.info=funcition(){
return ‘新增一个函数’
}
console.log(Person.info) undefined
consloe.log(obj.info) ‘’新增一个函数‘’