javascript面向对象

//含有初始值的对象
var obj1 = {"name":"bird","age":22,"sex":"man"};
//alert(obj1.name+" "+obj1["name"]); //即可以用.也可以用[]来取对象中的属性
var vals="";
for(var attr in obj1){ //循环获取对象中的所有值
vals +=obj1[attr]+"_";
}
//alert("obj1 attribte value:"+vals); //bird_22_man_

var obj2 = {}; //创建一个空对象
obj2.name="bird"; //创建了一个对象之后可以随时对它赋予任何的属性
obj2.age = 18;
alert("age" in obj2); //true;in:判断对象是否有某个属性
delete obj2.age; //delete:从对象中删除某个属性
alert("age" in obj2); //false
alert(obj2.name); //bird

var date = new Date();
alert(obj1.constructor); //constructor构造器

function print(){ //一个函数也是一个对象
this.name = "函数执行时指定name";
alert("hello world");
}
alert(print.toString()); //toString 方法打印函数结构体
print.name="test";
alert(print.name);

print.prototype.name = "prototype name";
print.prototype.n = "prototype n";
var obj3 = new print(); //new 方法对象时会执行方法体
alert(obj3.name); //函数执行时指定name
alert(obj3.n); //prototype n

//继承
//用 new 关键字创建对象是执行了下面三个步骤的:

// 1. 创建一个新的普通对象;
// 2. 将方法对象的 prototype 属性的所有属性复制到新的普通对象中去。
// 3. 以新的普通对象作为上下文来执行方法对象。

var animal = {}; //创建一个空对象
animal.eat = function eat(){alert("eat!");};
animal.sleep = function sleep(){alert("sleep!");};

var human = function(){
this.eat = function(){alert("human eat!");};
};
human.prototype = animal; //human方法拥有了animal的说有属性
human.prototype.run = function(){alert("hunam run!");};

var h_obj = new human(); //创建human方法对象
h_obj.eat(); //human eat!
h_obj.sleep(); //sleep!
h_obj.run(); //hunam run!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值