javascipt对象遍历(js如何遍历对象的属性和方法)
导语:JavaScript对象遍历、封装
一、JavaScript对象遍历
A、JavaScript属性访问
1.方式一:对象.属性
2.方式二:对象[属性]//字符串格式
B、JavaScript属性遍历
var ren = {};
ren.name="孙悟空";
ren.jineng=function(){alert("地狱火")}
for(var i in ren){
alert(ren[i]);
}
输出结果为孙悟空,function(){alert("地狱火")}
二、对象特性之封装
把对象所有的组成部分组合起来,尽可能的隐藏对象的部分细节,使其受到保护。
只保留有限接口和外部发生联系
例:
孙悟空:
属性:
皮肤:至尊宝
行为:
打野
A、工厂函数--不推介使用
function hero(color){
var hr = {}
hr.color=color;
hr.jineng=function(){alert("打野");}
return hr;
}
var swk=hero("至尊宝");
alert(typeof swk);//object
swk.jineng();//打野
alert(swk.color);//至尊宝
B、构造方法
function hero(color){
this.color=color;
this.look=function(){
alert("打野");
}
}
var swk=new hero("至尊宝");
alert(swk.color);//至尊宝
C、prototype(原型)方法
function hero(color){
this.color=color;
this.look=function(){
alert("打野");
}
}
hero.prototype.beidong=function(){
alert("大圣神威");
}
hero.prototype.pk={name:"团战"}
var swk1=new hero("地狱火");
var swk2=new hero("至尊宝");
swk1.beidong();//大圣神威
swk2.beidong();//大圣神威
alert(swk1.pk.name="切后排");//切后排
alert(swk2.pk.name);//切后排
由此可见,改变第一个对象的原型属性,第二个也会更改。
D、混合方式
function hero(color){
this.color=color;
this.jineng=function(){
alert("如意金箍");
}
hero.prototype.beidong={name:"大圣神威"}
}
hero.prototype.pk=function(){
alert("猴三棍");
}
var swk1=new hero("至尊宝");
var swk2=new hero("地狱火");
swk1.pk();//猴三棍
swk2.pk();//猴三棍
alert(swk1.beidong.name="斗站冲锋");//斗站冲锋
alert(swk2.beidong.name);//斗站冲锋
本文内容由小茹整理编辑!