现代Javascript之对象创建

转载自重庆PHp:[url]http://www.php-chongqing.com/index.php/article/26[/url]
对象是Javascript的基础,在Javascript中所有的东西都是面向对象的。Javascript是一门彻底的面向对象的语言。
在Javascript中创建对象的方式有很多种,你可以使用以下几种方式在Javascript中创建对象。

利用内置Object对象,完成对象创建

var obj = new Object(); // 创建一个新的Object对象,把这个对象的实例存入变量'obj'中。

// 为'obj'对象设置属性和方法
obj.val = 5;
obj.click = function() {
alert("hello");
}


函数式创建
因为Javascript中并没有类(class)的概念,任何函数都可以被实例化为一个对象。

// 创建一个新的User构造函数
function User(name, age) {
this.name = name;
this.age = age;
}
var user = new User();
alert("name:" + user.name);

在上面的代码中,我们定义了函数User(),接着我们执行new User(),函数怎么能new?
在Javascript中函数就是对象,好吧,你可以把函数User()理解为构造函数,所以,你可以执行new User()得到一个User()对象的实例。
晕了没?漂移的Javascript!

简单对象创建

var obj = {
val: 5,
click: function() {
alert("hello");
}
}

简单对象使用{...}简写方式来创建对象,结合键值对(key/value)来定义属性。
用Java或是其它面向对象语言来理解,上述代码相当于定义了一个Class类,然后实例化了这个Class,并把这个实例赋值给变量obj。
简单对象,在Javascript非常常用,因为它使用起来简单方便。

原型方式创建对象(推荐)

// 创建一个新的User构造函数
function User(name, age) {
this.name = name;
this.age = age;
}

// 将一个新的函数添加到此对象的prototype对象中
User.prototype.getName = function() {
return this.name;
}

// 并再给此prototype对象添加一个函数,
User.prototype.getAge = function() {
return this.age;
}

// 实例化一个新的User对象
var user = new User("Bob", 44);
user.getAge();

我们推荐使用原型方式来定义Javascript对象,Javascript的每个对象/函数,上面已经说了函数其实也是对象,都有一个prototype属性,
你可以把prototype属性理解为对象对自己实例的一个引用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值