js对象
什么是对象?
JS 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。
常用的集中创建对象方法
通过{}创建对象
var o = {};
o.name = 'jack';
o.age = 20;
o.sayName = function(){
alert(this.name);
}
alert(o.name+'-'+o.age);
o.sayName();
通过new object创建对象
var o = new Object();
o.name = "zhangsna";
o.sayName = function(){
alert(this.name);
}
o.sayName();
使用工厂模式创建对象
function createObject(name){
var o = new Object();
o.name = name;
o.sayName = function(){
alert(this.name);
};
return o;
}
var o1 = createObject('zhang');
var o2 = createObject('li');
alert(o1.sayName===o2.sayName);//false
给对象添加、删除、修改数据
添加
var json={ "firstName":"Bill" , "lastName":"Gates"};
//给json对象添加新的属性并赋值
json.sex="man";
//也可以如下添加新的属性并赋值
json["sex"]="man";
删除
var json={ "firstName":"Bill" , "lastName":"Gates"};
//删除json对象的firstName属性
delete json.firstName;
//也可以如下删除firstName属性的值
delete json["firstName"];
修改
var json={ "firstName":"Bill" , "lastName":"Gates"};
//修改json对象的firstName属性的值
json.firstName="Thomas";
//也可以如下修改firstName属性的值
json["firstName"]="Thomas";
遍历对象
for…in循环遍历对象自身的和继承的可枚举属性
var str = {
name: '李刚',
age: 15,
sex: '男'
}
for (k in str) {
//k是变量,输出的是对象的属性名
console.log(k);
//str[k]得到的是属性值
console.log(str[k]);
console.log('------');