Javascript 对象

Jscript 支持四种类型的对象:内部对象、自定义对象、宿主给出的对象(如 Internet 浏览器中的 window 和 document)以及 ActiveX 对象(外部组件)。

1.使用构造方法创建自定义对象
<script>
function pasta(grain, width, shape, hasEgg) //构造方法
{
this.grain = grain;
this.width = width;
this.shape = shape;
this.hasEgg = hasEgg;

//声明方法1
this.test=new function(){
return 'test success';
}

//声明方法2
this.toString=pastaToString; //对象的方法
}

function pastaToString() //定义对象的方法
{
return "Grain: " + this.grain + "\n" +
"Width: " + this.width + "\n" +
"Shape: " + this.shape + "\n" +
"Egg: " + Boolean(this.hasEgg);
}


//创建对象的两个实例
var spaghetti = new pasta("wheat", 0.2, "circle", true);
var linguine = new pasta("black", 0.3, "oval", true);


//添加原形对象属性,该属性可以用于所有实例
pasta.prototype.size=123;
document.write(spaghetti.size); //输出结果123
spaghetti.size='rer65'
document.write(spaghetti.size); //输出结果rer65
document.write(linguine.size); //原形对象属性并不是静态属性,相当于在对象定义中加了个动态属性,输出结果仍然是123
linguine.size='yrt'
document.write(linguine.size); //输出结果yrt


//给实例添加动态属性,该属性只能用于特定实例
spaghetti.high=1435; //给实例添加动态属性,该属性并没有在定义中出现。 动态属性只能用于特定实例spaghetti
document.write(spaghetti.high); //输出结果1435
document.write(linguine.high); //输出结果undefined


//使用对象的方法
var nihao = new pasta("wheat", 0.2, "circle", true);
document.write(nihao); //将调用 toString() 来打印对象
// 输出结果:Grain: wheat Width: 0.2 Shape: circle Egg: true
</script>



2.使用Object()创建自定义对象
<script>
var person = new Object();
person.name='peter';
person.age=23;

person.sayHello=new function(word){
return 'Hello '+word;
}
</script>



3.让方法2看起来更整洁
<script>
function Person(){
var p = new Object();
p.name='peter';
p.age=23;

p.sayHello=new function(word){
return 'Hello '+word;
}
return p;
}

//使用对象
var person = Person();
person.sayHello('Tom');

</script>



4.使用json声明对象
<script>
var p={name:'peter',age:5}
alert(typeof(p)); //==>object
alert(p.name); //==>peter
alert(p['name']); //==>peter
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值