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

2016-02-19 19:37 5 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐Javascript实例教程(4) 探测浏览器插件,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - Web开发 】

你可能对于一些其它的编程语言很熟悉,比如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         somebody["age"]          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;

}

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


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

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


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

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

document.write(body2);


document.write(body1.name);

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

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

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


// Stop hiding --

/SCRIPT
通过为Person对象重载Person.toString()方法,我们可以将Person对象作为字符串显示出来。每当Person对象被作为字符串引用的时候,pringPerson返回的数值就决定了该显示什么了。

上面脚本的输出如下所示:

Patrick was born in 76

and is 22 years old.


Betty was born in 77

and is 21 years old.


Patrick is older than Betty

从输出的结果我们可以看到年份是以两位数字表示的,如1976年只用76来表示。所以你可能想增加“19”到这两位数字的前面。不幸的是,“千年虫”的问题使得你处理起来有点棘手。而不同的浏览器处理Date对象的getYear()方法是不同的。

Year(年份)   Navigator浏览器   IE 3.x浏览器    IE 4.x浏览器
 
1998         98         98         98
 
1999         99         99         99
 
2000         2000        100        2000
 
2001         2001        101        2001 
 
你可以从上面表格中发现最新的浏览器支持1999年之后四位的年份格式(如2000、2001)。不幸的是,老的浏览器处理年份的格式的时候给程序设计人员无尽的困惑。我经常使用的具体解决方法如下所示,与大家共享:

var thisYear = (new Date()).getYear();

thisYear = 1900 + (thisYear % 1900);

这里(thisYear % 1900)作用是将年份转换位IE 3.x格式并且增加1900以得到真实的年份(比如,2002年经过this Year%1900转换位IE 3.x格式位102,然后102再加上1900得到2002)。上面这两条语句可以适用于从1900年到3799年的处理,现在看起来这么长的时间是足够使用了。但是,为了避免类似于“千年虫”问题,我们应该再找出更好的解决方案,在本教程中就不给出了。另外,新的ECMA标准包括了一个名为getFullYear()的函数,它是返回完整的年份格式,但是这个函数只能被Navigator 4支持,在IE中是不能使用的。

最后对程序再做一点改进,我们可以修改People构造器以转换年份为YYYY格式,具体代码如下:

this.birthYear = 1900 + (((new Date()).getYear() - this.age) % 1900);

在JavaScript中使用对象的能力通常被许多程序设计人员所忽视。但是从本教程中,你应该可以看到使用对象可以使程序员设计出功能更强大的应用程序来的。

来源:http://www.tulaoshi.com/n/20160219/1621458.html

延伸阅读
标签: Web开发
使用JavaScript的日期函数 Date(日期)对象可以使用Date()构造器来创建,在前面的教程中我们已经介绍了Date()构造器,这里就不重复叙述。它没有参数,返回的数值就是当前的日期。下面的表格显示了为日期构造器的有效输入: var today = new Date();  返回当前的日期和时间   var newyear = new Date("December 31, 1998 23:...
标签: Web开发
使用JavaScript代替CGI 你可能对CGI脚本比较熟悉,利用CGI你可以通过表单将数字或者变量从一个网页上传递到另外一个网页。当然,你可以利用“POST”将变量以独立的线程进行传递而不显示在浏览器中,或者利用“GET”将变量编码到URL。 JavaScript不能在变量在服务器端被处理的时候利用POST方法;但是你可以注意到当你提交一个使用GET方法的表...
标签: Web开发
本JavaScript实例教程的推出希望对JavaScript的爱好者在学习JavaScript上能带来点帮助,也希望对初学者在学习JavaScript时,能找到一条入门捷径,本教程通过对JavaScript实例分析学习,能使学习者更容易的了解且掌握JavaScript语言。不多说了!我们的旅途就从这里开始吧!:) JavaScript简介 JavaScript是一种基于对象的脚本语言。使用它可以...
标签: Web开发
鼠标事件和浏览器的提示栏 大家不会忘记,在浏览一些网站的时候,浏览器的状态栏会出现一些欢迎的文字,有的还是动态的呈现出来,下面我们就要介绍有关的编程方法,请看这个例子: html body a href="http://www.heavenland.com" onMouseOver="window.status='你现在把鼠标放在链接上面了!!!'"请把鼠标放到这里来/aa href="http:/...
标签: 浏览器
谷歌浏览器插件推荐 我经常看到一些人,看个32秒的视频要等60秒的广告而痛苦不堪,下面我就以谷歌浏览器为代表介绍一些好的插件,为我们带来便利。火狐浏览器的插件也十分多,其他浏览器我就不清楚了,用IE6的我只能说你很有勇气。 首先,你要去下载一个谷歌浏览器。然后打开里面的谷歌网上应用店搜索一下插件 第一个:Adblock ...

经验教程

34

收藏

84
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部