属性的增删改查
var mrHoo={
name :"yanchenglong",
age :"20",
sex:"kk",
mr :100,
hoole : function (){
console.log("asfasf");
//如果要调用里面他自己的属性可以用this来代替
mrHoo.mr --;
this.mr --;
},
drink: function(){
console.log("mmasdf")
mrHoo.mr ++;
}
}
mrHoo.wifr="xiaownag";//增加
mrHoo.wifr="KKKK";//更改
console.log(mrHoo.wifr);//查看
delete mrHoo.wifr;//删除
console.log(mrHoo.wifr);
}
对象里面的删除属性再次访问没有的属性的话是undefined,别的地方会报错
对象的创建方法
1.var obj ={} plainObject : 对象直接量
2.构造函数
1)系统自带的构造函数 Object() var obj = new Object();
var obj = new Object();
obj.name='abc';
obj.sex="male";
2)自定义
//大驼峰式命名规则 PersonHolle 对象
//小驼峰式命名规则 personHolle 函数
function PersonHolle(color){
this.color=color;
this.name="BMW";
this.height="1400";
this.weight=1000;
this.run=function(){
this.weight --;
};
}
console.log(PersonHolle);
var person1=new PersonHolle('red');//一个对象
var person2=new PersonHolle('green');//第二个对象
person1.name ="小明";
console.log(person1.name);
function Student(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.grade=1017;
}
var student=new Student('zhanghsan',18,'男',18)
构造函数的前提必须要加上new,有了new之后会在函数上边生成隐式的var this={};在中间添加this.name="爱德华"参数等,在最后面return this
如果没有用new那就是正常函数执行
那么大概就是这样
function person (name,height){
var that={};
that.name=name;
that.height=height;
return that;
}
var person=person("xiao",15)
而隐式的new你在函数里面写了return 必须是对象,不能返回原始值,如果式返回的原始值,会被忽略掉,
网友评论