javascript实例教程(4) 探测浏览器插件

张国军sunny

张国军sunny

2016-01-29 11:29

javascript实例教程(4) 探测浏览器插件,&#106avascript实例教程(4) 探测浏览器插件
  你可能对于一些其它的编程语言很熟悉,比如C++或者Java等等,它们也是可以创建对象的,现在最新的VB版本VB.NET也具有了更好的面向对象功能-----创建对象。从本质上讲,创建对象的想法只是为了创建一个简单的实体,这个实体包含了许多属性和方法。以下是一个对象构造器的例子:

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"]

"Patrick"

somebody.age, or

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

somebody["age"]

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

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;

当然,有许多方法来对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";

text += "and is " + this.age + " years old.<p";

return text;

}


function isOlder(otherPerson) { // 这里定义是否第一个人是更老的

return (this.age otherPerson.age); // 返回布尔型数值

}


//下面的代码用于测试我们的函数


var body1 = new Person("Patrick", 22, "red");

var body2 = new Person("Betty", 21, "green");


document.write(body1); //这里为Person.toString()创建一个调用

document.write(body2);


document.write(body1.name);

document.write((body1.isOlder(body2)) ? " is " : " is not "); // 是否更老?

document.write("older than " + body2.name);


//
展开更多 50%)
分享

猜你喜欢

javascript实例教程(4) 探测浏览器插件

电脑网络
javascript实例教程(4) 探测浏览器插件

javascript实例教程(3) 探测浏览器插件

电脑网络
javascript实例教程(3) 探测浏览器插件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Javascript实例教程(4) 探测浏览器插件

Web开发
Javascript实例教程(4) 探测浏览器插件

javascript实例教程(7) 利用javascript基于浏览器类型的重定向

电脑网络
javascript实例教程(7) 利用javascript基于浏览器类型的重定向

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Javascript实例教程(3) 探测浏览器插件

Web开发
Javascript实例教程(3) 探测浏览器插件

javascript实例教程(19) 使用HoTMetal(4)

电脑网络
javascript实例教程(19) 使用HoTMetal(4)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

javascript网页中显示硬盘内容

javascript网页中显示硬盘内容

javascript实例教程(14) JS代替CGI

javascript实例教程(14) JS代替CGI
下拉加载更多内容 ↓