您的位置:首页 > Web前端 > JavaScript

js面向对象基础

2010-10-27 21:20 435 查看
程序1. 创建简单对象并设置其属性的两个例子

代码 1 <script>
2 //创建一个新的接受properties对象的对象
3 function User( properties ) {
4 //遍历对象属性,确保它作用域正确(如前所述)
5 for ( var i in properties ) { (function(which){ var p=i
6 //为属性创建获取器
7 which[ "get" + i ] = function() {
8 return properties[p];
9 };
//为属性创建设置器
which[ "set" + i ] = function(val) {
properties[p] = val;
};
})(this); }
}
//创建一个新user 对象实例,传入一个包含属性的对象作为种子
var user = new User({
name: "Bob",
age: 44
});
//请注意name属性并不存在,因为它在properties 对象中,是私有的
alert( user.name == null );
//然而,我们能够使用用动态生成的方法getname 来访问它
alert( user.getname() == "Bob" );
//最后,我们能看到,通过新生成的动态方法设置和获取age 都是可以的
user.setage( 22 );
alert( user.getage() == 22 );
</script>

静态方法

静态方法背后的前提其实跟其它任何方法是一样的。然而,最主要的不同在于,这些方法作为对象的静态属性而存在。作为属性,它们在该对象的实例上下文中不可访问;它们只有在与主对象本身相同的上下文是可用的。这些与传统的类继承的相似点,使得他们有点像是静态的类方法。

//附加在User对象上的一个静态方法
User.cloneUser = function( user ) {
//创建并返回一个新的User对象
return new User(
//该对象是其它user对象的克隆
user.getName(),
user.getAge()
);
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: