Javascript实例教程(4) 探测浏览器插件
时间:2007-12-27 来源:不详 作者:林子
function Person(name, age, colour) {
this.name = name;
this.age = age;
this.colour = colour;
}
然后,我们可以这样来调用Person构造器:
var somebody = new Person("Patrick", 22, "red");
或者从用户那里得到输入数值:
var pName = prompt("What is your name?");
var pAge = prompt("How old are you this year?");
var pColour = prompt("What is your favourite colour?");
var somebody = new Person(pName, pAge, pColour);
所有在JavaScript中得构造器,就象在Java中,都可以利用new要害字来进行调用。当一个person利用它的属性{"Patrick", 22, "red"}被创建(或者说被构造)的时候,这些数值就可以访问了,比如 :
somebody.name, or 织梦好,好织梦
somebody["name"] dedecms.com
"Patrick" 织梦好,好织梦
somebody.age, or
dedecms.com
somebody["age"]
copyright dedecms
22
织梦好,好织梦
somebody.colour, or 本文来自织梦
somebody["colour"] 本文来自织梦
"red"
本文来自织梦
因为我们利用name增加了Person的属性,所以它们必须通过name来被引用,这点在后面的代码中可以看到。假如我们使用数字,那么我们就必须使用数字来引用,比如要用somebody[0],而不用somebody.name。Javascript的数组和对象(比如 forms,images,frames,…)都答应这两种方法。
另外地,数组和对象都有一个本质的属性,即length(长度)。我们在编制程序的时候,可以这样来使用它:objectName.length,它返回对象包含的元素或者属性的个数。
属性同样也可以从函数中来创建,这样,你只需要增加一行到Person函数中就可以创建属性了: function Person(name, age, colour) {
this.name = name;
this.age = age;
this.colour = colour;
this.birthYear = (new Date()).getYear() - this.age;
}
以上的Person函数定义了第四个属性:birthYear,它代表每一个Person的出生年份。这里要注重,这一增加的行是调用一个内置的Date构造器,它返回一个包含了当前日期和时间的Date对象。
这是一个非常懒惰的方法来访问一个Date变量。所以使用下面的代码会显得更准确些,更有可读性:
var today = new Date();
this.birthYear = today.getYear() - this.age;
copyright dedecms
当然,有许多方法来对JavaScript程序进行“压缩”。通过插入对象到代码中,你就可以处理绝大多数的变量。
这个Date对象比起我们上面定义的Person对象来说更复杂,因为它包括了访问方法(accessor/get)以及操作方法(manipulator/set)。同时,增加简单的对象方法到JavaScript中是可能,下面是具体的例子代码:
<SCRIPT language="JavaScript">
<!-- Hide from older browsers
function Person(name, age, colour) {
this.name = name;
this.age = age;
this.colour = colour;
this.birthYear = (new Date()).getYear() - this.age;
this.toString = printPerson; // 这里定义the Person.toString() 方法
this.isOlder = isOlder; // 这里定义Person.isOlder(Person) 方法
}
function printPerson() {
var text = this.name " was born in " this.birthYear "<br>";
文章评论
共有位Admini5网友发表了评论 查看完整内容