JavaScript对象遍历、封装

一、JavaScript对象遍历

A、JavaScript属性访问

1.方式一:对象.属性

2.方式二:对象[属性]//字符串格式

JavaScript对象遍历、封装

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);//斗站冲锋

JavaScript对象遍历、封装

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: