| 首页 | IT动态 | 硬件 | 应用 | 互联网 | 网络 | 网站 | 黑客 | 编程 | 数码 | 视频教程 | 游戏 | 休闲 | 软件 | 视频 | IT认证 | 动漫图片 | IT杂谈 | 论坛 | 
Google
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • 认清CSS的类class和标识id选…

  • Dreamweaver8搞定“web标准”

  • Dreamweaver临时文件工作方式

  • Dreamweaver制作网页实用七招

  • 用ASP生成XBM数字图片(可用…

  • DW MX实例:客房预订业务

  • DW MX实例:动态广告管理

  • DW MX实例:在线音乐网站

  • DW MX实例:随笔管理及评论实…

  • DW MX实例:BLOG 日历事件

  • 广 告 位 置
    黄金广告位
    Q
    您现在的位置: 无忧IT人 >> 网站 >> JSP >> 文章正文
    javascript实例教程(4) 探测浏览器插件         
    javascript实例教程(4) 探测浏览器插件
    作者:网络 文章来源:转载 点击数: 更新时间:2007-8-11
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
      你可能对于一些其它的编程语言很熟悉,比如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 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);


    // 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()方法是不同的。

    [1] [2] [3] 下一页  

    文章录入:51iter    责任编辑:51iter 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |