js对象

1、通过对象字面量的形式创建对象
var obj={}没有任何属性的变量
alert(typeof obj); 显示为object
2、通过new Object()创建对象
var obj3=new Object();创建一个空对象,{}
相当于var obj3={}
var arr=new Array() 空数组,[]
相当于var obj3=[]
var date=new Date()日期时间对象
var reg=new RegExp('js')创建正则对象
3、通过构造函数的形式创建对象
function Test(){}
var obj4=new Test();
function test1(num1,num2){
this.n1=num1; this指的是test1 .是的意思
this.n2=num2;
}
var obj5=new Test1(5,6);
alert(typeof obj5);
显示为object;
alert(obj5 instanceof Test1)显示为true
instanceof通过返回一个布尔类型来指出,这个对象是否是这个特定类或者是他的子类 前面是否由后面构成的
 
 
4、通过Obiect.create()创建对象
var obj6=Object.create({x:1});
var obj7=Object.create({null});
创建一个普通的空对象
var obj8=Object.create(Object.prototype);
 
 
查询属性
var person={
username:'king',
age:12,
salary:1234.56,
addr:'北京',
sex:'男',
};
console.log('用户名为:'+person.username+"\n"+'性别:'+person.sex);
显示为用户名为:'king' 性别:'男'
 
console.log('薪水:'+person['salary']+'\n'+'地 址:'+person["addr"]);
显示为薪水:'1234.56 地址:'北京'
如果属性不确定要使用[]
var key='username';
console.log(person.key); 显示为undefined
//console.log(person[key]);显示为'king';
//console.log(person['key']);显示为undefined
'key'将变成字符串 无法查询
console.log(person1.name+person['sex']);显示为'king'
'男'
 
 
添加属性
var obj={}空对象
obj.username='king';
obj.age=12;
obj.addr='北京';
obj['test']='this is a test';
console.log(obj.username+'\n'+obj.age+'\n'+obj.addr+'\n'+obj['test']); 显示为king 12 北京 this is a test
 
修改指定属性
obj.username='queen';
obj['test']='ymt';
console.log('修改之后的名字'+obj.username);
console.log(obj['test']);
 
通过delete删除指定属性
delete obj['test'];
console.log(obj['test']);
delete obj.username;
console.log(obj['username']);
都显示为undefined
 
通过for/In遍历属性
var obj1={
x:1,
y:2,
test:'this is a test',
edu:'ymt'
};
for(var p in obj1){
console.log(p+'\n');
}
 
显示为x y test edu
 
 
对象中方法
var obj2={
username:'king',
age:12,
addr:'北京',
sayHi:function (){
return 'say Hi';
},
info:function(){
return '用户名:'+this.username+'\n'+'年龄:'+this.age+'\n地址:'+this.addr;
}
};
console.log(obj2.sayHi()); 显示为say Hi
console.log(obj2.info()); 显示为用户名:'king'年龄:'12' 地点:'北京'
//console.log(obj2.info); 显示为fx(return '用户名:'+this.username+'\n'+'年龄:'+this.age+'\n地址:'+this.addr;)
必须加括号 否则将会打印出整个函数
posted @ 2018-04-12 18:00  苏四  阅读(77)  评论(0编辑  收藏  举报