大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> Script -> Javascript实例教程(4) 探测浏览器插件

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

时间: 2021-07-31 作者:daque

你大概对于少许其它的编制程序谈话很熟习,比方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;}之上的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 browsersfunction 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);// stop hiding --></script>经过为person东西重载person.tostring()本领,咱们不妨将person东西动作字符串表露出来。每当person东西被动作字符串援用的功夫,pringperson归来的数值就确定了该表露什么了。上头剧本的输入如次所示:patrick was born in 76and is 22 years old.betty was born in 77and 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中运用东西的本领常常被很多步调安排职员所忽略。然而从本教程中,你该当不妨看到运用东西不妨使步调员安排出功效更宏大的运用步调来的。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.