对象
字面量:
字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。
字面量分为字符串字面量(string literal )、数组字面量(array literal)和对象字面量(object literal),另外还有函数字面量(function literal)。
对象的创建:
1.通过对象字面量的形式创建对象:
var obj={};//没有任何属性的对象
var obj1={x:1,y:2,z:3};
var obj2={
'x':1,
"y":2,
username:'king',
'for':'Javascript关键字必须放到引号之间',
'first-name':'queen',
married:true,
test:null,
test1:undefined,
salary:12.3,
person:{
username:'king',
age:12,
addr:'北京'
}
};
2.通过 new Object() 创建对象。
var obj3=new Object();//创建一个空对象,{}
var arr=new Array();//空数组,[]
var date=new Date();//日期时间对象
var reg=new RegExp('js');//创建正则对象
3.通过构造函数的形式创建对象。(函数名必须大写)
function PersonInfo(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
}
var person1=new PersonInfo('king',34,'男');//实例化对象
4.通过Object.create()创建对象。
var obj6=Object.create({x:1});
var obj7=Object.create(null);
var obj8=Object.create(Object.prototype);//创建一个普通的空对象
对象查属性:
对象.属性名//对象[‘属性名’]
function PersonInfo(name,age,sex){
this.username=name;
this.age=age;
this.sex=sex;
}
var person1=new PersonInfo('king',34,'男');//实例化对象
console.log(person1.username+' '+person1['age']);
如果不确定需要使用[]
Var key = ‘username’;
Console.log(person[key])
添加属性:
Person1.heigh=’170cm’;/perdon1[‘height’]=’170cm’;
修改指定属性:
Person1.age=35;/person1[‘age’]=35;
删除属性:
Delete person.sex;/delete person[‘sex’];
For in 遍历;
For(var p in person1){
console.log(p+’ ’);//输出属性名
console.log(person1[p]+’ ’);//输出属性值
}
正则对象:
RegExp 对象用于存储检索模式。
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。
test() 方法检索字符串中的指定值。返回值是 true 或 false。
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
Demo:
var patt1=new RegExp("e");
document.write(patt1.test("The bedt things in life are free"));//true
patt1.compile("d");
document.write(patt1.test("The bedt things in life are free"));//true